我的XML看起来像这样:
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Example!</body>
</note>
</inspect>
我使用了Builder,由于某种原因,它最后添加了<inspect>
节点。我该如何删除?
答案 0 :(得分:2)
使用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>
。