如何使用Nokogiri和Ruby解析XML文件
我有一个XML文件:如何使用Nokogiri和Ruby解析XML文件,ruby,xml,nokogiri,Ruby,Xml,Nokogiri,我有一个XML文件: <root> <person name="brother">Abhijeet</person> <person name="sister">pratiksha</person> </root> 以及: 这是使用CSS搜索具有给定参数和值的节点的基本方法: require 'nokogiri' doc = Nokogiri::XML(<<EOT) <root>
<root>
<person name="brother">Abhijeet</person>
<person name="sister">pratiksha</person>
</root>
以及:
这是使用CSS搜索具有给定参数和值的节点的基本方法:
require 'nokogiri'
doc = Nokogiri::XML(<<EOT)
<root>
<person name="brother">Abhijeet</person>
<person name="sister">pratiksha</person>
</root>
EOT
doc.at('person[name="sister"]').to_html # => "<person name=\"sister\">pratiksha</person>"
它将在其中找到所有
节点。它不会搜索节点的参数
不要做:
doc.elements.each do |f|
f.each do |y|
p y
end
end
在遍历每个元素时会浪费大量CPU。相反,请学习选择器的工作原理,这样您就可以利用libXML的强大功能。请发布您的代码。请阅读“”。你读过Nokogiri教程吗?他们讨论如何搜索和提取信息。您是否在internet上搜索过如何根据值查找节点的参数?您的选择器不正确,因此搜索将解释如何操作。这也很重要。
require 'nokogiri'
doc = Nokogiri::XML(<<EOT)
<root>
<person name="brother">Abhijeet</person>
<person name="sister">pratiksha</person>
</root>
EOT
doc.at('person[name="sister"]').to_html # => "<person name=\"sister\">pratiksha</person>"
<root>
<person>
<sister />
</person>
<person>
<sister />
</person>
</root>
doc.elements.each do |f|
f.each do |y|
p y
end
end