У меня есть XML-файл, который выглядит следующим образом:
<?xml version="1.0"? encoding="UTF-8" standalone="no"?>
<dir name="mint">
<dir name="pepper">
<dir name="shauninman">
<dir name="geomint">
<file name="readme.txt"/ token="3">
<file name="blank.gif"/ token="2">
<file name="class.php"/ token="7">
<dir/>
<dir/>
<dir/>
<dir name="test1">
<dir name="test2">
<dir name="test3">
<file name="foo1.txt"/ token="3">
<file name="foo2.gif"/ token="5">
<file name="foo3.php"/ token="5">
<dir/>
<dir name="test4">
<file name="foo4.txt"/ token="3">
<file name="foo5.gif"/ token="5">
<file name="foo6.php"/ token="5">
<dir/>
<dir/>
<dir/>
<dir/>
Однажды я написал на C ++ функцию, которая выполняет обход префикса древовидной структуры, которая выглядит так:
int traverseTree( Item* node, int id )
{
cout << id;
id = id+1;
vector<Item*>* children = node->getChildren();
for( int i = 0; i < children->size(); ++i )
id = traverseTree( children->at(i), id );
return id;
}
Теперь я хочу сделать то же самое, но из файла XML.Другими словами, я хотел бы проанализировать XML, а затем отправить корень функции «traverseTree».Затем при каждом рекурсивном вызове я мог бы извлечь дочерние элементы текущего узла.
Как я могу использовать такой инструмент, как xerces, чтобы выполнить это?Какая будет новая функция?
Спасибо за любую помощь!