Xml XPath:按列浏览表层次结构
为了简单起见,我有一个xml结构,它在下面的示例x=1中描述了一个包含x*2行和2列的简单表: 1. 2. 3. 4. 您提到xsl:iterate,它是XSLT 3的一部分,因此我假设您可以使用XSLT 2或XSLT 3,在这里,我认为按列处理/输出单元格的一般任务可以通过位置分组完成:Xml XPath:按列浏览表层次结构,xml,xslt,xpath,Xml,Xslt,Xpath,为了简单起见,我有一个xml结构,它在下面的示例x=1中描述了一个包含x*2行和2列的简单表: 1. 2. 3. 4. 您提到xsl:iterate,它是XSLT 3的一部分,因此我假设您可以使用XSLT 2或XSLT 3,在这里,我认为按列处理/输出单元格的一般任务可以通过位置分组完成: <xsl:template match="table"> <xsl:variable name="cols" select="count(tr[1]/td)"/>
<xsl:template match="table">
<xsl:variable name="cols" select="count(tr[1]/td)"/>
<xsl:for-each-group select="tr/td" group-by="position() mod $cols">
<xsl:sequence select="current-group()!normalize-space()"/>
</xsl:for-each-group>
</xsl:template>
您能使用XPath2.0吗?如果是这样,我想你想要的表达方式是//tr/td[1],//tr/td[2]谢谢,这正是我想要的!工作起来很轻松,对我来说很容易理解。好吧,不幸的是,如果x>1,这不起作用。例如,xml看起来是这样的:1 2 3 4 5 6 7 8抱歉,再解释一遍。xml还有两行5-8。然后输出是1 3 5 7 2 4 6 8,然而我想要的是1 3 2 4 5 7 6 8。但我还是接受了你的回答,因为我的问题一开始并没有说清楚!