<xxx>
<EntityOverview>
<LevelId>7</LevelId>
<LongName>trombone</LongName>
</EntityOverview>
<EntityOverview>
<LevelId>10</LevelId>
<LongName>bananaphone</LongName>
</EntityOverview>
</xxx>
我想获取LevelId 10的数据,然后获取LevelId 7的数据,得到类似的结果:
10 pananaphone 7长号关于如何编写XSLT的任何想法?我开始学习
由于
答案 0 :(得分:1)
如果您希望以不同于文档中的顺序处理元素,则必须按所需顺序应用模板,例如
<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>
使用XSLT 2.0,您可以以更紧凑的形式编写内容:
<xsl:template match="/">
<xsl:apply-templates select="//EntityOverview[LevelId = 10], //EntityOverview[LevelId = 7"/>
</xsl:template>
答案 1 :(得分:0)
也许是这样的? (提供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>