从 xml 中删除重复项(两个条件)
Remove duplicates from xml (two conditions)
我正在搜索用于消除 xml 文件中重复项的 xslt 解决方案。
该文件是使用名为 epgrab 的软件创建的。它从 dvb-s 转发器中获取 epg 数据并将其保存到 *.xml 文件中。
这里的问题是我们每天要多次阅读 epg,因为一些数据在一个小时左右的时间内发生了变化,我们需要及时获得实际的 epg 数据。有时会发生条目重复的情况。
这些需要被消除,因为每次有人打开我们的 iptv-frontend 时,网络服务器不应该读取 10 兆字节的文件。
xml 文件如下所示:
<programme channel="28007.dvb.guide" start="20150811143300 +0200" stop="20150811151800 +0200">
<title lang="de">Traumstädte: Stockholm - Die Entspannte</title>
<sub-title lang="de">Film von Ines Trams</sub-title>
<desc lang="de">Stockholm ist eine schwimmende Metropole mit einzigartiger Stadtgeografie: Jeweils ein Drittel der Stadtfläche b$
<language>de</language>
<!--language>mul</language-->
<!--language>mis</language-->
<!--language>de</language-->
<video>
<aspect>16:9</aspect>
</video>
<audio>
<stereo>stereo</stereo>
</audio>
<subtitles type="teletext">
<language>de</language>
</subtitles>
</programme>
这里的问题是我们需要检查通道 PID 和 start/stop 时间——不仅是一个条件。
xslt-1.0 有可能吗?
感谢您的帮助!
编辑:感谢 Martin Honnen 格式化我的代码:>
使用 XSLT 1.0 对项进行分组时,称为 Muenchian 分组的方法基于一个键,因此您可以定义一个键 <xsl:key name="group" match="programme" use="concat(@channel, '|', @start, '|', @stop)"/>
,有关详细信息,请参阅 http://www.jenitennison.com/xslt/grouping/muenchian.xml。
我正在搜索用于消除 xml 文件中重复项的 xslt 解决方案。 该文件是使用名为 epgrab 的软件创建的。它从 dvb-s 转发器中获取 epg 数据并将其保存到 *.xml 文件中。 这里的问题是我们每天要多次阅读 epg,因为一些数据在一个小时左右的时间内发生了变化,我们需要及时获得实际的 epg 数据。有时会发生条目重复的情况。 这些需要被消除,因为每次有人打开我们的 iptv-frontend 时,网络服务器不应该读取 10 兆字节的文件。
xml 文件如下所示:
<programme channel="28007.dvb.guide" start="20150811143300 +0200" stop="20150811151800 +0200">
<title lang="de">Traumstädte: Stockholm - Die Entspannte</title>
<sub-title lang="de">Film von Ines Trams</sub-title>
<desc lang="de">Stockholm ist eine schwimmende Metropole mit einzigartiger Stadtgeografie: Jeweils ein Drittel der Stadtfläche b$
<language>de</language>
<!--language>mul</language-->
<!--language>mis</language-->
<!--language>de</language-->
<video>
<aspect>16:9</aspect>
</video>
<audio>
<stereo>stereo</stereo>
</audio>
<subtitles type="teletext">
<language>de</language>
</subtitles>
</programme>
这里的问题是我们需要检查通道 PID 和 start/stop 时间——不仅是一个条件。 xslt-1.0 有可能吗?
感谢您的帮助!
编辑:感谢 Martin Honnen 格式化我的代码:>
使用 XSLT 1.0 对项进行分组时,称为 Muenchian 分组的方法基于一个键,因此您可以定义一个键 <xsl:key name="group" match="programme" use="concat(@channel, '|', @start, '|', @stop)"/>
,有关详细信息,请参阅 http://www.jenitennison.com/xslt/grouping/muenchian.xml。