xslt - #XPATH 删除两次不存在的节点集
问题描述
我有一个要求,我需要过滤掉所有在输入 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 中是相同的。但是,元素 2 在 msg2 中不存在,因此应该从输出文件中删除。我期望的输出文件是:
<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>
一百万次感谢谁能提供帮助!
解决方案
推荐阅读
- c# - LiteDB.LiteException:文件不是有效的 LiteDB 数据库格式或包含无效的密码
- php - 如何在php中显示当前日期?
- javascript - REACT NATIVE:滚动视图不断弹回顶部不滚动
- pine-script - tradingview pinescript 中的输入“语句块”错误不匹配
- python - ImportError: cannot import name 'config' & 'module' object is not callable using PostgreSQL & Python
- c - C中的整数到二进制
- javascript - 使用 javascript 将网页滚动到给定位置
- sql - 我想写一个查询,我只能选择特定的行,并想忽略 SQL 中的一些不同的行
- c++ - 后缀表达式的中缀不返回
- javascript - 根据容器大小调整子内容的大小