PDA

Просмотр полной версии : XML: обойти дерево в определенной последовательности


terezza
14.01.2010, 07:55
Подскажите, пожалуйста, как обойти все узлы XML так, чтобы в массив добавились по очереди сначала первый ребенок каждого узла, затем второй и так далее. Чтобы в конечном итоге массив приобрел приблизительно следующий вид:
xml_data.childNodes[0].childNodes[0];
xml_data.childNodes[1].childNodes[0];
xml_data.childNodes[2].childNodes[0];
xml_data.childNodes[3].childNodes[0];
xml_data.childNodes[0].childNodes[1];
xml_data.childNodes[1].childNodes[1];
xml_data.childNodes[2].childNodes[1];
xml_data.childNodes[3].childNodes[1];

P.S. Количество детей у каждого узла может быть разным.

etc
14.01.2010, 08:13
Ну так перебирайте первый уровень, вводите индекс элемента на втором уровне. Если индекс выходит за пределы второго уровня, пропускаете текущий узел. Ну это в лоб если.