Функция добавления Tinyxml2

Я искал способ добавить свой XML-файл с помощью tinyxml2, но не смог ничего найти. Буду признателен за любую помощь.

Вот мой код:

function savedata() {

XMLNode * pRoot = xmlDoc.NewElement("Cars");
xmlDoc.InsertFirstChild(pRoot);
XMLElement * pElement = xmlDoc.NewElement("Brand");

pElement->SetText("Audi");

pRoot->InsertEndChild(pElement);

pElement = xmlDoc.NewElement("type");
pElement->SetText("4x4");

pRoot->InsertEndChild(pElement);

pElement = xmlDoc.NewElement("Date");
pElement->SetAttribute("day", 26);
pElement->SetAttribute("month", "April");
pElement->SetAttribute("Year", 2015);
pElement->SetAttribute("dateFormat", "26/04/2015");

pRoot->InsertEndChild(pElement);XMLError eResult = xmlDoc.SaveFile("SavedData1.xml");
XMLCheckResult(eResult);
}

Каждый раз, когда я запускаю функцию, XML перезаписывается, и я хочу добавить к существующему файлу.

Мой XML-файл:

<Cars>
<Brand>Audi</Brand>
<Whatever>anothercrap</Whatever>
<Date day="26" month="April" Year="2015" dateFormat="26/04/2015"/>
</Cars>

Мой корень есть и я хочу добавить к существующему файлу. Например,

<Cars>
<Brand>Audi</Brand>
<type>4x4</type>
<Date day="26" month="April" Year="2015" dateFormat="26/04/2015"/>

<Brand>BMWM</Brand>
<type>truck</type>
<Date day="26" month="April" Year="2015" dateFormat="26/04/2015"/>
</Cars>

0

Решение

XML — это структурированные данные, поэтому текстовое добавление будет сложным и, возможно, подверженным ошибкам, поскольку вам нужно будет убедиться, что вы не добавляете корневой узел дважды, а также поддерживает отступы и т. Д.

Что может быть проще — это загрузить XML, проанализировать его с помощью TinyXML и записать обратно.

0

Другие решения


По вопросам рекламы [email protected]