0

我有看起来像这样的 XML:

<?xml version="1.0"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Example!</body>
</note>
</inspect>

我使用了 Builder,由于某种原因,它<inspect>在最后添加了节点。我怎样才能删除?

4

1 回答 1

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>

于 2013-10-18T03:05:32.710 回答