如果我有这个 xml 文件:
<root>
<node id="a">
<section id="a_1">
<item id="0">
<attribute>
<color>Red</color>
</attribute>
</item>
</section>
<section id="a_2">
<item id="0">
<attribute>
<color>Red</color>
</attribute>
</item>
</section>
</node>
<node id="b">
<section id="b_1">
<user id="b_1a">
<attribute>
<name>John</name>
</attribute>
</user>
<user id="b_1b">
<attribute>a</attribute>
</user>
</section>
<section id="b_1" method="create">
<user id="b_1a">
<attribute>
<name>John</name>
</attribute>
</user>
<user id="b_1c">
<attribute>a</attribute>
</user>
</section>
<section id="b_2">
<user id="b_1a">
<attribute>
<name>John</name>
</attribute>
</user>
</section>
</node>
</root>
我希望输出是这样的:
<root>
<node id="a">
<section id="a_1">
<item id="0">
<attribute>
<color>Red</color>
</attribute>
</item>
</section>
<section id="a_2">
<item id="0">
<attribute>
<color>Red</color>
</attribute>
</item>
</section>
</node>
<node id="b">
<section id="b_1">
<user id="b_1a">
<attribute>
<name>John</name>
</attribute>
</user>
<user id="b_1b">
<attribute>a</attribute>
</user>
</section>
<section id="b_1" method="create">
<user id="b_1c">
<attribute>a</attribute>
</user>
</section>
<section id="b_2">
<user id="b_1a">
<attribute>
<name>John</name>
</attribute>
</user>
</section>
</node>
</root>
正如我们所看到的,只要 id 相同,它就会被视为一个部分 id,即使它上面有其他方法。因此,我们删除了第二部分 id (b_1) 中包含“方法创建”的用户 id (b_1a)。这真的让我很沮丧,我无法省略该方法。所以任何帮助将不胜感激。如果我们查看部分 id b_2,它也有相同的用户 id b_1 和相同的“John”,但我们不会删除它,因为它在不同的部分 id 中。所以基本上我们根据section id来比较它。
PS:元素可以是任何东西,不总是用户或部分,但只要 id 相同。
非常感谢。
亲切的问候,约翰