我刚刚和Nokogiri开始并有一个问题,希望你们可以帮助我:
答案 0 :(得分:18)
以下对您的情况做出一些可能不正确的假设(即,“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