我正在搜索xslt解决方案,以消除xml文件中的重复项。 使用名为epgrab的软件创建文件。它从dvb-s发送应答器中获取epg数据并将其保存到* .xml文件中。 这里的问题是我们每天多次阅读epg,因为一些数据在一小时左右就会发生变化,我们需要及时获得实际的epg数据。有时它会发生条目重复。 这些都需要消除,因为每当有人打开我们的iptv前端时,网络服务器都不应该读取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和启动/停止时间 - 不仅仅是一个条件。 这对xslt-1.0有什么用?
感谢您的帮助!
编辑:感谢Martin Honnen格式化我的代码:&gt;
答案 0 :(得分:0)
使用XSLT 1.0对项目进行分组时,称为Muenchian分组的方法基于密钥,因此您可以定义密钥<xsl:key name="group" match="programme" use="concat(@channel, '|', @start, '|', @stop)"/>
,有关详细信息,请参阅http://www.jenitennison.com/xslt/grouping/muenchian.xml。