首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

这个xslt怎么遍历动态内容呢

2012-03-21 
这个xslt如何遍历动态内容呢?一般的XML,我们用 xsl:value-ofselect visitName 来显示visitName的值。

这个xslt如何遍历动态内容呢?
一般的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下的内容遍历并输出呢?


[解决办法]
<xsl:for-each select= "//info/* ">
<xsl:value-of select= "text() "/>
</xsl:for-each>
[解决办法]

<xsl:for-each select= "//info/* ">
<xsl:value-of select= "name() "/> : <xsl:value-of select= ". "/> <br/>
</xsl:for-each>
[解决办法]
<xsl:for-each select= "//info/* ">
<xsl:if test= "(position() mod 2)=1 "> <xsl:text disable-output-escaping= "yes "> &lt;tr&gt; </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 "> &lt;/tr&gt; </xsl:text> </xsl:if>
</xsl:for-each>

热点排行