Я хотел бы перебрать все элементы <HeadA>
и <HeadB>
в файле XML и добавить к каждому уникальный идентификатор. Подход, который я пробовал до сих пор, таков:
@xml.each_element('//HeadA | //HeadB') do |heading|
#add a new id
end
Проблема в том, что набор узлов из XPath //HeadA | //HeadB
состоит из всех HeadA
, за которыми следуют все HeadB
. Мне нужен упорядоченный список всех HeadA
и HeadB
в том порядке, в котором они появляются в документе.
Просто чтобы уточнить, мой XML может выглядеть так:
<Doc>
<HeadA>First HeadA</HeadA>
<HeadB>First HeadB</HeadB>
<HeadA>Second HeadA</HeadA>
<HeadB>Second HeadB</HeadB>
</Doc>
И что я получаю от XPath:
<HeadA>First HeadA</HeadA>
<HeadA>Second HeadA</HeadA>
<HeadB>First HeadB</HeadB>
<HeadB>Second HeadB</HeadB>
когда мне нужно получить узлы в порядке:
<HeadA>First HeadA</HeadA>
<HeadB>First HeadB</HeadB>
<HeadA>Second HeadA</HeadA>
<HeadB>Second HeadB</HeadB>
поэтому я могу добавлять идентификаторы последовательно.