Ruby 我想在删除整个子节点后重新打印修改后的xml 111 xxx 222 yyy 333 zzz

Ruby 我想在删除整个子节点后重新打印修改后的xml 111 xxx 222 yyy 333 zzz,ruby,xml,rexml,Ruby,Xml,Rexml,我想删除“pencil”节点,并使用REXML(Ruby)打印剩余的xml。有人能告诉我怎么做吗 使用其中一种删除方法 需要“rexml/document” string=末尾的.to_不是必需的;默认情况下,在对象上放置调用。 <product> <book> <id>111</id> <name>xxx</name> </book> <pen> <id>222&


我想删除“pencil”节点,并使用REXML(Ruby)打印剩余的xml。有人能告诉我怎么做吗

使用其中一种删除方法

需要“rexml/document”
string=末尾的.to_不是必需的;默认情况下,在对象上放置调用。
<product>
<book>
    <id>111</id>
    <name>xxx</name>
</book>
<pen>
    <id>222</id>
    <name>yyy</name>
</pen>
<pencil>
    <id>333</id>
    <name>zzz</name>
</pencil>
require "rexml/document"
string = <<EOF
  <product>
  <book>
      <id>111</id>
      <name>xxx</name>
  </book>
  <pen>
      <id>222</id>
      <name>yyy</name>
  </pen>
  <pencil>
      <id>333</id>
      <name>zzz</name>
  </pencil>
  </product>
EOF
doc = REXML::Document.new(string)
doc.delete_element('//pencil')
puts doc