我有看起来像这样的 XML:
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Example!</body>
</note>
</inspect>
我使用了 Builder,由于某种原因,它<inspect>
在最后添加了节点。我怎样才能删除?
使用Nokogiri:
xml = <<-EOF
<?xml version="1.0"?>
<inspect>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Example!</body>
</note>
</inspect>
EOF
require 'nokogiri'
tree = Nokogiri.XML(xml)
tree.at_xpath('inspect').replace(tree.at_xpath('inspect/note'))
puts tree.to_s
输出:
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Example!</body>
</note>
注意:原始 XML 不包含<inspect>
. 我补充说<inspect>
。