我收到一个文件,其中包含我要提取的不同电影的视频链接。 视频链接位于 @ CAPTURE-0 元素中。 有时我在同一部电影的文件中有2个不同的链接。
所以我想要的是每部不同的电影,提取相关的最后一个链接。
我有一个表项,在这个表中我在STEP上应用了一些过滤器,并通过包含电影名称的@ACTION属性进行分组。
我的表格看起来像这样:
宿醉 (包含在@ACTION中)| 链接 (此电影的最后@ CAPTURE-0的值)
星球大战 (包含在@ACTION中)| 链接 (此电影的最后@ CAPTURE-0的值)
该文件如下:
...
<GENERIC_S
CAPTURE-0="VALUE1" >
<STEP NUM="0" ID="3" ACTION="MOVIE1" RETURN=0/>
</GENERIC_S>
<GENERIC_S
CAPTURE-0="VALUE2">
<STEP NUM="0" ID= "3" ACTION="MOVIE1" RETURN=0/>
</GENERIC_S>
<GENERIC_S
CAPTURE-0="VALUE3">
<STEP NUM="0" ID= "3" ACTION="MOVIE2" RETURN=0/>
</GENERIC_S>
<GENERIC_S
CAPTURE-0="VALUE4">
<STEP NUM="0" ID= "3" ACTION="MOVIE3" RETURN=0/>
</GENERIC_S>
<GENERIC_S
CAPTURE-0="VALUE5">
<STEP NUM="0" ID= "4" ACTION="MOVIE3" RETURN=0/>
</GENERIC_S>
...
所以在这里我想只提取每个不同的@ACTION元素的ID = 3 last @ CAPTURE-0元素:
MOVIE1的VALUE2
MOVIE2的VALUE3
MOVIE3的VALUE4
所以我申请的内容如下:
<item ......../> <!-- this is the tab declaration -->
<rows path="*/STEP[@RETURN = 0]" group-by="@ACTION" title="@ACTION" >
<!-- filter that I want to apply to all my table, return must be 0 and group by action to group by movie name -->
<linkParam name="Movielink" path="//GENERIC_S[STEP/@ID=3][last()]/@CAPTURE-0"/>
<!-- here is where I want to return last @CAPTURE-0 element for each video which have a STEP ID =3-->
在MovieLink中应用此功能时://GENERIC_S[STEP/@ID=3][last()]/@CAPTURE-0
我能够获得列表的最后一个元素,但它没有考虑过滤器<rows path="*/STEP[@RETURN = 0]" group-by="@ACTION" title="@ACTION" >
它为所有电影返回相同的视频链接。
我希望这清楚我想要做什么, 如果需要,我可以提供更多细节,
谢谢