1
尝试从xml中获取html 我从数据集中生成了以下xml,这意味着我无法更改XML的结构。我认为我错过了第二个循环通过A和B循环。如何使用xslt将XML(从数据集生成)转换为HTML
<Myds>
<A>
<col1>Row1</col1>
<col2>1</col2>
<col3>2</col3>
</A>
<A>
<col1>Row2</col1>
<col2>4</col2>
<col3>3</col3>
</A>
<B>
<col1>Row1</col1>
<col2>1</col2>
<col3>2</col3>
</B>
<B>
<col1>Row2</col1>
<col2>4</col2>
<col3>3</col3>
</B>
</Myds>
这是XSL
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match='/'>
<xsl:for-each select ='./Myds'>
<table>
<xsl:for-each select ='A'>
<tr>
<td><xsl:value-of select='col1'/></td>
<td><xsl:value-of select='col2'/></td>
<td><xsl:value-of select='col3'/></td>
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
我有这个输出
<?xml version="1.0" encoding="utf-8"?>
<table>
<tr><td>Row1</td><td>1</td><td>2</td></tr>
<tr><td>Row2</td><td>4</td><td>3</td></tr>
</table>
但我期待这个
<table>//(For Table A)
<tr><td>Row1</td><td>1</td><td>2</td></tr>
<tr><td>Row2</td><td>4</td><td>3</td></tr>
</table>
<table>//(For Table B)
<tr><td>Row1</td><td>1</td><td>2</td></tr>
<tr><td>Row2</td><td>4</td><td>3</td></tr>
</table>
我想我需要这样的事,但不完全如何...
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match='/'>
<xsl:for-each select ='./Myds'>
<table>
<xsl:for-each select ='UNIQUE SECOND NODE'>
<tr>
<td><xsl:value-of select='col1'/></td>
<td><xsl:value-of select='col2'/></td>
<td><xsl:value-of select='col3'/></td>
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
@马克我觉得我缺少与第二环具有不同的节点。我改变了案子。 – Thunder 2011-03-28 12:15:46
@雷霆看到更新 – 2011-03-28 12:17:53
@Mark我试过但得到了错误'byTable'是一个意想不到的标记 – Thunder 2011-03-28 12:35:54