我有一个需求,我需要过滤掉所有在输入XML中不会出现双精度的节点集。
我的源文件由2条消息和1条XML组成。两条消息可以具有相同的注释集,但是,消息1可以具有其他需要过滤掉的节点集:
<messages>
<msg1>
<element1>
<a>dummy field</a>
<b>22222</b>
<c>33333</c>
</element1>
<element2>
<d>4444444</d>
</element2>
</msg1>
<msg2>
<element1>
<b>22222</b>
<c>33333</c>
</element1>
</msg2>
如您所见,msg1和msg2都有字段b和c。 msg1中的字段a可以忽略,因为它包含一个虚拟值。因此,这意味着element1节点及其子字段在msg 1和msg2中相同。但是,msg2中不存在element2,因此应将其从输出文件中删除。我期望的输出文件是:
<messages>
<msg1>
<element1>
<a>dummy field</a>
<b>22222</b>
<c>33333</c>
</element1>
</msg1>
<msg2>
<element1>
<b>22222</b>
<c>33333</c>
</element1>
</msg2>
</messages>
感谢百万人的帮助!