Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
DevExp
6 / 6 / 2
Регистрация: 27.05.2013
Сообщений: 59
#1

DOM как сохранить изменения в XML - Android

24.09.2014, 15:08. Просмотров 382. Ответов 0
Метки нет (Все метки)

Добрый день!
Делаю открытие, изменения и сохранение таким образом:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//open doc
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(openFileInput("Orders.xml"));
 
//add header
Element Items = document.createElement("Order");
Items.setAttribute("ItemsCount", String.valueOf(alOrderNomenclature.size()));
Items.setAttribute("OrderId", String.valueOf(iNextId));
Items.setAttribute("OrderStatus", MainMenu_MyOrders.orderStatusOK);
Items.setAttribute("DBPrefix", getIntent().getExtras().getString(OrdersEditor.extraDBPrefix));
Items.setAttribute("DBName", getIntent().getExtras().getString(OrdersEditor.extraDBName));
Items.setAttribute("ClientId", getIntent().getExtras().getString(OrdersEditor.extraClientId));
Items.setAttribute("ClientName", getIntent().getExtras().getString(OrdersEditor.extraClientName));
Items.setAttribute("ContactInfo", getIntent().getExtras().getString(OrdersEditor.extraClientContactInfo));
Items.setAttribute("AddrF", getIntent().getExtras().getString(OrdersEditor.extraClientAddrF));
Items.setAttribute("DocDate", String.valueOf(getIntent().getExtras().getLong(OrdersEditor.extraDocDate)));
Items.setAttribute("Summa", String.valueOf(Summa));
Node NewOrder = Order.appendChild(Items);
 
//add childs
for (HashMap<String, Object> hashmap : alOrderNomenclature) {
    Element Item = document.createElement("Item");
    Item.setAttribute("NomenclatureId", String.valueOf(hashmap.get("Id")));
    Item.setAttribute("NomenclatureName", String.valueOf(hashmap.get("Name")));
    Item.setAttribute("PriceId", String.valueOf(hashmap.get("PriceId")));
    Item.setAttribute("Price", String.valueOf(hashmap.get("Price")));
    Item.setAttribute("Quantity", String.valueOf(hashmap.get("Order")));
    Item.setAttribute("Summa", String.valueOf(hashmap.get("Summa")));
    NewOrder.appendChild(Item);
}
 
//save doc
TransformerFactory factory = TransformerFactory.newInstance();
 
Transformer transformer = factory.newTransformer();
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
transformer.setOutputProperty(OutputKeys.VERSION, "1.0");
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
                
DOMSource domSource = new DOMSource(document.getDocumentElement());
OutputStream output = new ByteArrayOutputStream();
StreamResult result = new StreamResult(output);
transformer.transform(domSource, result);
            
StreamResult r = new StreamResult(openFileOutput("Orders.xml", MODE_WORLD_WRITEABLE));  
transformer.transform(domSource, r);
Вопрос по блоку "save doc": можно ли с помощью DOM сохранить изменения в XML без перезаписи файла вот таким образом как выше?

Добавлено через 15 минут
Как сохранить изменения в XML?

Добавлено через 5 часов 41 минуту
есть идеи?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2014, 15:08     DOM как сохранить изменения в XML
Посмотрите здесь:

Как и куда сохранить в Internal Storage? Android
Как запускать задачу по рассписанию? Как отслеживание изменения своей БД SQLite? Android
Android Как сохранить контакт из моей БД в телефонные контакты?
Как сохранить целочисленную переменную в кэше? Android
Android Как и где сохранить данные игры
Как в готовый apk внести изменения? Android
Android. Как сохранить ArrayList<String> в файл Android
Как сохранить все данные при повороте Android
Как сохранить все Exception Android
Как сохранить фокус в пределах одной View Android
Android Как реализовать отслеживание изменения даты в android?
Как сохранить ArrayList Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru