节点我有下面的XML:选择以下一些同胞只有
<root>
<table>Table 1</table>
<foot>1.1</foot>
<foot>2.2</foot>
<p>...</p>
<p>...</p>
<table>Table X</table>
<foot>M.1</foot>
<foot>M.2</foot>
<p>...</p>
<p>...</p>
<table>Table 132</table>
<foot>A.A.E</foot>
<foot>234</foot>
<p>...</p>
<p>...</p>
</root>
我想将其转换为:
<root>
<table>
<text>Table 1</text>
<foot>1.1</foot>
<foot>2.2</foot>
</table>
<p>...</p>
<p>...</p>
<table>
<text>Table X</text>
<foot>M.1</foot>
<foot>M.2</foot>
</table>
<p>...</p>
<p>...</p>
<table>
<text>Table 132</text>
<foot>A.A.E</foot>
<foot>234</foot>
</table>
<p>...</p>
<p>...</p>
</root>
我有以下XSL代码:
<xsl:template match="table">
<xsl:element name="table">
<xsl:element name="text">
<xsl:apply-templates />
</xsl:element>
<xsl:for-each select="following-sibling::foot">
<xsl:element name="foot">
<xsl:apply-templates />
</xsl:element>
</xsl:for-each>
</xsl:element>
其中输出为:
<root>
<table>
<text>Table 1</text>
<foot>1.1</foot>
<foot>2.2</foot>
<foot>M.1</foot>
<foot>M.2</foot>
<foot>A.A.E</foot>
<foot>234</foot>
</table>
<p>...</p>
<p>...</p>
<table>
<text>Table X</text>
<foot>M.1</foot>
<foot>M.2</foot>
<foot>A.A.E</foot>
<foot>234</foot>
</table>
<p>...</p>
<p>...</p>
<table>
<text>Table 132</text>
<foot>A.A.E</foot>
<foot>234</foot>
</table>
<p>...</p>
<p>...</p>
</root>
如何只能选择foot
元件,其立即在关闭table
元素,只要将n
数foot
元素立即table
元以下。任何对此的帮助表示赞赏。
您可以使用XSLT 2.0吗? –
对不起。 XSLT 2.0是可以的。我应该指定它。 – Jagath