如何用nokogiri解析xml文件并将结果放在一个新文件中?

前端之家收集整理的这篇文章主要介绍了如何用nokogiri解析xml文件并将结果放在一个新文件中?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚开始与Nokogiri有一个问题,希望你们能帮助我:

>我需要解析一组XML文件(假设有5个文件).
>使用XPATH查找具有特定值的元素,例如City =“London”.
>创建一个新的XML文件,其中包含步骤2中先前XPATH查询的结果

解决方法

以下是对您的情况做出一些可能不正确的假设(即,“city”是节点而不是属性,并且所有文件都在一个目录中),但是您应该能够调整它以适应您的需求.

require 'rubygems'
require 'nokogiri'

Dir.glob("*.xml").each do |filename|
  input = Nokogiri::XML(File.new(filename))
  output = Nokogiri::XML::Document.new
  output.root = Nokogiri::XML::Node.new("output",output)
  input.root.xpath("//*[city='London']").each {|n| output.root << n}
  File.open("out_" + filename,'w') {|f| f.write(output.to_xml) }
end

猜你在找的XML相关文章