xsl解析xml 的问题

lee_ray 2006-08-18 01:58:59
我的xml如下(节选):
- <RecordSet>
- <Record score="1.0" id="5">
<chinach>我们的人3</chinach>
<id>64207</id>
<sid>93889</sid>
<anylang>eeeeeeeeee,iiiiiiii,ttttt</anylang>
</Record>
- <Record score="0.20000002" id="1">
<chinach>我们的人3</chinach>
<id>64207</id>
<sid>93889</sid>
<anylang>eeeeeeeeee,iiiiiiii</anylang>
</Record>
.
.
.
.
.
<Record score="1.0" id="4">
<anylang>tingting</anylang>
<sid>93890</sid>
<id>64208</id>
<chinach>婷婷</chinach>
</Record>
</RecordSet>


这个xml文件, 我现在用一个xsl文件解析,显示成html文件, 问题出现了

这个xml文件Record元素的<id>64207</id> 这个属性一样!!

所以我想在页面显示其中一条Record内容就可以

但是我不知道用xsl怎么控制。

麻烦各位朋友。 我先贴出显示全部Record的xsl文件(部分):

<xsl:template match="Record">
<p>
<a href="http://localhost/{id}.html" target="nw">
<xsl:value-of select="chinach" disable-output-escaping = "yes"/>
</a>
<br/>

<xsl:if test="string-length(anylang)>0">
<xsl:value-of select="substring(anylang,1,200)" disable-output-escaping="yes"/>...<br />
</xsl:if>

<a class="green">http://localhost/<xsl:value-of select="id" />.htm</a>
<br/>
</p>
</xsl:template>


简单的来说, 就是我的xml文件中有id相同的数据, 我想通过xsl控制, 使它们相同的只显示一次
...全文
263 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
reelcol 2006-09-19
  • 打赏
  • 举报
回复
这个问题你好想问了, 只能从xml入手了, 不能用xsl判断的业务逻辑。
husl 2006-08-31
  • 打赏
  • 举报
回复
楼上方法可行不?
id不是不能相同吗?重新设计下你的xml怎样 ?
cds27 2006-08-23
  • 打赏
  • 举报
回复
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt">

<xsl:key name="id" match="//Record" use="id"/>

<xsl:template match="RecordSet">
<xsl:for-each select="Record[generate-id(.)=generate-id(key('id', id))]">
<xsl:value-of select="id"/> : <xsl:value-of select="@score"/>
</xsl:for-each>
</xsl:template>

</xsl:stylesheet>
UnAgain 2006-08-22
  • 打赏
  • 举报
回复
用item[0]行不行?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧