Nokogiri::XML::Builder
实际上只在创建新的 XML 文件时使用,而不是在编辑它们时使用。
此外,您的代码加载 XML 并将其放入新的根节点(根),同时将新的子节点(数据节点)附加到它。这真的是理想的行为吗?
通常你会像这样添加一个节点:
doc = Nokogiri::XML(IO.read("test.xml"))
name_node = Nokogiri::XML::Node.new("name",doc)
name_node.content = "Name"
data_node = Nokogiri::XML::Node.new("data",doc)
data_node.add_child(name_node)
doc.root.add_child(data_node)
file = File.open("test.xml",'w')
file.puts doc.to_xml
file.close
这没有创建一个新的根节点,因为这对我来说似乎有点奇怪......
您也可能想尝试Nokogiri-Documentation,它相当广泛。
还有其他方法可以Nokogiri::XML::Builder
用来创建包括数据在内的所有缺点,这将是这种组合方法的一个示例:
builder = Nokogiri::XML::Builder.new do
data do
name "Name"
end
end
doc = Nokogiri::XML(IO.read("test.xml"))
doc.root.add_child builder.doc.root
file = File.open("test.xml",'w')
file.puts doc.to_xml
file.close