xslt和xml-不呈现(一旦我能够呈现此内容,我将呈现其余内容)
您好,我正在尝试为下面的xml提供一个样式表:但是我不知道我的xpath有什么问题。我试着参考每个网站,但它只是不呈现xslt和xml-不呈现(一旦我能够呈现此内容,我将呈现其余内容),xml,xslt,Xml,Xslt,您好,我正在尝试为下面的xml提供一个样式表:但是我不知道我的xpath有什么问题。我试着参考每个网站,但它只是不呈现 <careTeames> <careteame> <PCP>JONES,MARY</PCP> <type>Ped - Under 5</type> <caregivers/> <providers>
<careTeames>
<careteame>
<PCP>JONES,MARY</PCP>
<type>Ped - Under 5</type>
<caregivers/>
<providers>
<provider>Henderson,Wilson</provider>
<providertype>Cardilogist</providertype>
<provider>H,WILLIAM</provider>
<providertype>OPTHOMOLGY</providertype>
</providers>
</careteame>
<careteame>
<PCP>JONES,MARY2</PCP>
<type>Ped - Under 5</type>
<caregivers/>
<providers>
<provider>Henderson,Wilson2</provider>
<providertype>Cardilogist2</providertype>
<provider>H,WILLIAM2</provider>
<providertype>OPTHOMOLGY2</providertype>
</providers>
</careteame>
</careTeames>
我的xsl能够生成PCP的第一行,但另一行失败:(
资料
可乐
可乐
( )
问题是,当您这样做时
<xsl:for-each select="return/careTeames/careteame">
现在你真正需要做的就是
<xsl:for-each select="caremanagers">
或者更确切地说,您需要这样做,因为您的XML样本中没有caremanagers(也没有任何return元素)
实际上,使用模板匹配通常比使用xsl:for each更好
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<h2>Data</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>col1</th>
<th>col2</th>
</tr>
<xsl:apply-templates select="return/careTeames/careteame"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="careteame">
<tr>
<td>
<xsl:value-of select="PCP"/>
</td>
<td>
<xsl:value-of select="type"/>
</td>
</tr>
<xsl:apply-templates select="providers/provider"/>
</xsl:template>
<xsl:template match="provider">
<tr>
<td>
<xsl:value-of select="."/>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
资料
可乐
可乐
很有效。我正在编辑apply templates标签中的路径。它应该是return/careTeames/careteame。非常感谢@Tim!!:D
<xsl:for-each select="return/careTeames/careteame/caremanagers">
<xsl:for-each select="caremanagers">
<xsl:for-each select="providers/provider">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<h2>Data</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>col1</th>
<th>col2</th>
</tr>
<xsl:apply-templates select="return/careTeames/careteame"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="careteame">
<tr>
<td>
<xsl:value-of select="PCP"/>
</td>
<td>
<xsl:value-of select="type"/>
</td>
</tr>
<xsl:apply-templates select="providers/provider"/>
</xsl:template>
<xsl:template match="provider">
<tr>
<td>
<xsl:value-of select="."/>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>