我有一个XML文件:
<root>
<person name="brother">Abhijeet</person>
<person name="sister">pratiksha</person>
</root>
我想用Nokogiri解析它 . 我尝试使用CSS和XPath,但它返回nil或第一个元素值 . 如何检索其他值?我试过了:
doc = Nokogiri::XML(xmlFile)
doc.elements.each do |f|
f.each do |y|
p y
end
end
和:
doc.xpath("//person/sister")
doc.at_xpath("//person/sister")
1 回答
这是使用CSS搜索具有给定参数和值的节点的基本方法:
您需要研究CSS和XPath以及它们的语法是如何工作的 . 在XPath中
//person/sister
意味着在<person>
节点内的所有<sister>
节点搜索,匹配如下:它会找到所有
<sister />
节点 . 它不搜索节点的参数 .不要这样做:
你将浪费大量的CPU遍历每个元素 . 而是学习选择器如何工作,这样你就可以利用libXML的强大功能 .