xml - 在 XSLT 1.0 中删除重复项
问题描述
我有以下 .XML:
<tables>
<table tableshort="WR">
<field fieldno="108" fid="108" value="0">0</field>
<field fieldno="7026" fid="7026">961234</field>
<field fieldno="7020" fid="7020">Type 002</field>
<field fieldno="13" fid="13">01.01.2021</field>
<field fieldno="14" fid="14">02.01.2021</field>
<field fieldno="7046" fid="7046">Freq 002</field>
<field fieldno="7055" fid="7055">EUR</field>
<field fieldno="7061" fid="7061">7000</field>
<field fieldno="7033" fid="7033">1200</field>
<field fieldno="7034" fid="7034">1300</field>
<field fieldno="7036" fid="7036">1001</field>
<field fieldno="7039" fid="7039">1002</field>
</table>
<table tableshort="WR">
<field fieldno="108" fid="108" value="0">0</field>
<field fieldno="7026" fid="7026">961234</field>
<field fieldno="7020" fid="7020">Type 002</field>
<field fieldno="13" fid="13">01.01.2021</field>
<field fieldno="14" fid="14">02.01.2021</field>
<field fieldno="7046" fid="7046">Freq 002</field>
<field fieldno="7055" fid="7055">EUR</field>
<field fieldno="7061" fid="7061">7000</field>
<field fieldno="7033" fid="7033">1200</field>
<field fieldno="7034" fid="7034">1300</field>
<field fieldno="7036" fid="7036">1001</field>
<field fieldno="7039" fid="7039">1002</field>
</table>
<table tableshort="WR">
<field fieldno="108" fid="108" value="0">0</field>
<field fieldno="7026" fid="7026">961234</field>
<field fieldno="7020" fid="7020">Type 003</field>
<field fieldno="13" fid="13">02.01.2021</field>
<field fieldno="14" fid="14">03.01.2021</field>
<field fieldno="7046" fid="7046">Freq 001</field>
<field fieldno="7055" fid="7055">EUR</field>
<field fieldno="7061" fid="7061">7001</field>
<field fieldno="7033" fid="7033">1201</field>
<field fieldno="7034" fid="7034">1301</field>
<field fieldno="7036" fid="7036">1002</field>
<field fieldno="7039" fid="7039">1000</field>
</table>
<table tableshort="WR">
<field fieldno="108" fid="108" value="0">0</field>
<field fieldno="7026" fid="7026">732441</field>
<field fieldno="7020" fid="7020">Type 001</field>
<field fieldno="13" fid="13">01.01.2021</field>
<field fieldno="14" fid="14">02.01.2021</field>
<field fieldno="7046" fid="7046">Freq 002</field>
<field fieldno="7055" fid="7055">EUR</field>
<field fieldno="7061" fid="7061">5000</field>
<field fieldno="7033" fid="7033">2200</field>
<field fieldno="7034" fid="7034">3300</field>
<field fieldno="7036" fid="7036">5001</field>
<field fieldno="7039" fid="7039">4000</field>
</table>
</tables>
然后我有一个带有以下代码的 .XSLT:
<xsl:variable name="wr_root" select="/tables/table[@tableshort='WR']"/>
...
<xsl:for-each select="$wr_root">
<row>
...
</row>
正如您在 .XML 中看到的那样,存在重复的条目。我只想列出唯一的 ID (fieldno="7026"),因此 .XSLT 应该只列出 961234 和 732441 的出现。
我尝试使用以下 select(),但它不起作用:
<xsl:for-each select="//wr_root[not(field[@fieldno=7026]=preceding::wr_root/field[@fieldno=7026])]">
我读这篇文章作为参考: https ://www.oreilly.com/library/view/xslt-cookbook/0596003722/ch04s03.html
关于如何解决这个问题的任何想法?谢谢,
解决方案
推荐阅读
- elasticsearch - 使用elasticsearch和logstash后如何进行大数据建模?
- debian - 无法通过 init.d 正确启动 aftpd
- html - 如何在bash中触发youtube无限滚动
- c++ - 使用多线程 C++ 编程轻松执行卷曲
- android - 无法在android中的按钮内设置下一个图像
- excel - 如何使用 vba 自动检查 IE 中 RadComboBox 下拉列表中的 CheckBox
- php - 试图将 IP 存储到数据库以限制外部请求......为什么有这么多数据库条目?
- python - CSV - 只读第二个表
- angular - 在 nativeScript 中使用 wakanda-client 模块作为后端
- python - 具有更多维度的广播函数中的 Numpy ValueError