我想遍历 XML 文件中的所有<HeadA>
和<HeadB>
元素,并为每个元素添加一个唯一的 id。到目前为止我尝试过的方法是:
@xml.each_element('//HeadA | //HeadB') do |heading|
#add a new id
end
问题是,来自 XPath 的节点集//HeadA | //HeadB
是所有HeadA
s 后跟所有HeadB
s。我需要的是所有HeadA
s 和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>
所以我可以按顺序添加 ID。