<xxx>
<EntityOverview>
<LevelId>7</LevelId>
<LongName>trombone</LongName>
</EntityOverview>
<EntityOverview>
<LevelId>10</LevelId>
<LongName>bananaphone</LongName>
</EntityOverview>
</xxx>例如,我希望获取LevelId 10的数据,然后获取LevelId 7的数据,以获得如下内容:
10巴纳通7长号长号
知道如何编写XSLT吗?我开始学习
谢谢
发布于 2013-07-25 09:39:56
如果您想按与文档中的顺序不同的顺序处理元素,那么就必须按照您想要的顺序应用模板。
<xsl:template match="/">
<xsl:apply-templates select="//EntityOverview[LevelId = 10]"/>
<xsl:apply-templates select="//EntityOverview[LevelId = 7"/>
</xsl:template>或者你可以在LevelId上排序。
<xsl:template match="/">
<xsl:apply-templates select="//EntityOverview">
<xsl:sort select="LevelId" data-type="number" order="descending"/>
</xsl:apply-templates>
</xsl:template>使用XSLT2.0,您可以以更紧凑的形式编写内容:
<xsl:template match="/">
<xsl:apply-templates select="//EntityOverview[LevelId = 10], //EntityOverview[LevelId = 7"/>
</xsl:template>发布于 2013-07-25 09:02:21
也许是这样的?(假设xxx是根元素)
<xsl:template match="//xxx/EntityOverview">
<xsl:value-of select="LevelId"/><xsl:text> </xsl:text><xsl:value-of select="LongName"/><xsl:text> </xsl:text>
</xsl:template>https://stackoverflow.com/questions/17853347
复制相似问题