这个xslt如何遍历动态内容呢?

vearbear 2007-07-09 02:48:44
一般的XML,我们用<xsl:value-of select="visitName">来显示visitName的值。

但我们现在的这个XML,是动态生成的,其各层的结构是限定的,但层的具体内容则是变化的。例如:
<info>
<visitName>涨三</visitName>
<visitDate>2007-04-01</visitDate>
</info>
另一个:
<info>
<visitName>涨三</visitName>
<visitTime>2007-04-01 13:12:00</visitTime>
<visitPlace>301医院</visitPlace>
</info>

可以看到info里面的内容是多变的(并且不可枚举,它是动态定义的),那么我们在写xslt时,如何使得可对于info下的内容遍历并输出呢?
...全文
153 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2007-07-09
  • 打赏
  • 举报
回复
<xsl:for-each select="//info/*">
<xsl:if test="(position() mod 2)=1"><xsl:text disable-output-escaping="yes"><tr></xsl:text></xsl:if>
<td><xsl:value-of select="name()"/></td><td><xsl:value-of select="text()"/></td>
<xsl:if test="(position() mod 2)=0"><xsl:text disable-output-escaping="yes"></tr></xsl:text></xsl:if>
</xsl:for-each>
vearbear 2007-07-09
  • 打赏
  • 举报
回复
谢谢!
我们需要的结果是这样;
<tr>
<td>visitName</td><td>张三</td>
<td>visitDate</td><td>2007-04-01</td>
</tr>
另一个
<tr>
<td>visitName</td><td>张三</td>
<td>visitTime</td><td>2007-04-01 13:12:00</td>
</tr>
<tr>
<td>visitPlace</td><td>301医院</td>
<td> </td><td> </td>
</tr>

怎么添加要换行的判断,及元素名?
  • 打赏
  • 举报
回复

<xsl:for-each select="//info/*">
<xsl:value-of select="name()"/>:<xsl:value-of select="."/><br/>
</xsl:for-each>
hookee 2007-07-09
  • 打赏
  • 举报
回复
<xsl:for-each select="//info/*">
<xsl:value-of select="text()"/>
</xsl:for-each>

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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