0
  <xxx>
      <EntityOverview>
        <LevelId>7</LevelId>
        <LongName>trombone</LongName>
      </EntityOverview>
      <EntityOverview>
        <LevelId>10</LevelId>
        <LongName>bananaphone</LongName>
      </EntityOverview>
    </xxx>

I want to fetch for example the data of LevelId 10 then LevelId 7 to get something like this:

10 bananaphone 7 trombone

Any idea on how to write the XSLT? Im starting to learn

Thanks

4

2 回答 2

0

如果您想以与文档中给出的顺序不同的顺序处理元素,那么您必须按照您想要的顺序应用模板,例如

<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>
于 2013-07-25T09:39:56.920 回答
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>
于 2013-07-25T09:02:21.533 回答