如何使用Nokogiri遍历嵌套的xml元素

时间:2018-09-13 15:58:23

标签: ruby nokogiri

我有一个xml文件,其中包含以下嵌套元素:

<SourceDetails>
    <Origin>Origin</Origin>
    <Identifier>Identifier</Identifier>
    <Version>0</Version>
</SourceDetails>

我已经使用过at_xpath函数从存储在变量中的xml文件中提取上述xml代码段。是否可以使用Ruby Nokogiri遍历此变量并存储嵌套xml元素的内容?如果是这样,怎么做?

我想将SourceDetails中的每个元素附加到另一个变量后跟一个正斜杠。对于上面的示例,我想要获取格式为Origin / Identifier / 0

的内容

1 个答案:

答案 0 :(得分:0)

有一个简单的方法

require "nokogiri"
xmlFileData = Nokogiri::XML(File.open('./xmlFile.xml'))
dataArr = xmlFileData.at_xpath("//SourceDetails").text.split("\n")
dataArr.delete_at(0)
puts dataArr.join("/").gsub(/(\s+)/, '')