如果我有这个输入文件:
<root>
<node id="N1">
<fruit id="small_fruit">
<orange id="1" action="create">
<attribute>
<color>yellow</color>
</attribute>
</orange>
</fruit>
<fruit id="large_fruit" action="create">
<melon id="1" action="destroy">
<attribute>
<color>green</color>
</attribute>
</melon>
</fruit>
</node>
<node id="N2">
<dog id="small_dog">
<poodle id="1" action="create">
<attribute>
<color>Yellow</color>
</attribute>
</poodle>
<poodle id="1" action="change">
<attribute>
<color>Brown</color>
</attribute>
</poodle>
<terrier id="2" action="destroy">
<attribute>
<color>Blue</color>
</attribute>
</terrier>
</dog>
</node>
</root>
我需要分成两个文件: output1: node_destroy.xml
<root>
<node id="N1">
<fruit id="large_fruit" action="create">
<melon id="1" action="destroy">
<attribute>
<color>green</color>
</attribute>
</melon>
</fruit>
</node>
<node id="N2">
<dog id="small_dog">
<terrier id="2" action="destroy">
<attribute>
<color>Blue</color>
</attribute>
</terrier>
</dog>
</node>
</root>
输出2:node_other_than_destroy.xml
<root>
<node id="N1">
<fruit id="small_fruit">
<orange id="1" action="create">
<attribute>
<color>yellow</color>
</attribute>
</orange>
</fruit>
</node>
<node id="N2">
<dog id="small_dog">
<poodle id="1" action="create">
<attribute>
<color>Yellow</color>
</attribute>
</poodle>
<poodle id="1" action="change">
<attribute>
<color>Brown</color>
</attribute>
</poodle>
</dog>
</node>
</root>
基本上,我需要将带有 action='destroy' 的节点删除到一个文件中,而将其他带有其他操作的节点删除到另一个文件中。(选中的动作节点是甜瓜、贵宾犬、梗犬而不是它们的父母,即水果和狗)
请帮我处理转换文件。非常感谢。
问候,约翰