На языке ActionScript я писал такую функцию "обхода"...
| Код | function LoadXML(node:XMLNode):Void { // ========== Обход ============ if (node.hasChildNodes()) LoadXML(node.firstChild); if (node.nextSibling!=null) LoadXML(node.nextSibling); // ==== Считывание значений ====== if (node.nodeName == "title") cap = node.firstChild.nodeValue; if (node.nodeName == "length") len = node.firstChild.nodeValue; }
|
1.Сначала проверяется, есть ли дочерний узел, если да, то запускается эта же функция, обрабатывающая дочерний узел. 2.Далее проверяется, есть ли соседние узлы... И соответственно, идёт обработка соседних узлов... 3.При каждом запуске функции считываются нужные значения (при совпадении имён тегов).
Как реализовать подобное на C++ Builder?..
Я как минимум не нашёл адекватной замены свойству "firstChild" (указывает на первый дочерний узел).
|