Что нового

[Данные, строки] Работа с XML, запись данных в повторяющиеся секции

EqKeeper

Новичок
Сообщения
29
Репутация
1
Доброго времени суток!

Есть XML-документ. Структура такая:
<root>
<elem>
<param1></param1>
<param2></param2>
<param3></param3>
</elem>
<elem>
<param1></param1>
<param2></param2>
<param3></param3>
</elem>
<elem>
<param1></param1>
<param2></param2>
<param3></param3>
</elem>
</root>

Нужно вначале уничтожить все секции <elem> после чего добавить их заново, попутно занося все необходимые параметры (параметры беру из Excel'евской таблички).

Вопрос: как?

Используя библиотеку _XMLDomWrapper.au3 и функцию _XMLGetValue, я могу получить массив всех <param1>, <param2>, <param3> и их количество (тоесть количество секций <elem>) - с чтением проблем нет. Но вот для записи аналогичной функции нет. Есть некие CreateNode различных реализаций с невнятными описаниями и отсутствием примеров. Помогите, пожалуйста! :'(
 
Автор
E

EqKeeper

Новичок
Сообщения
29
Репутация
1
axlwor сказал(а):
Код:
_XMLSetAttrib
_XMLCreate.....
Ответ не полон. Список функций я видел и сам. Даже прочитал их описание. Зачем мне _XMLSetAttrib? Я ни словом не обмолвился об аттрибутах.
Код:
_XMLCreateCDATA ( strNode, strCDATA, strNameSpc = "" ) Create a CDATA SECTION node directly under root. (Requires: #include <_XMLDomWrapper.au3>)
Это?
Что такое strCDATA? В каком виде ее нужно записывать?
 

Atall

Новичок
Сообщения
27
Репутация
0
Можно например вот так:

Код:
$FileOpen = FileOpenDialog("", @ScriptDir, "XMLFiles (*.xml)", 1 + 4)

_XMLFileOpen($FileOpen)

_XMLDeleteNode("//param1/ancestor::elem")

_XMLCreateRootChild("elem")

_XMLCreateChildNode("/root/elem", "param", "123")

FileClose($FileOpen)
 
Верх