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