首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有特定子值的XSLT获取节点

具有特定子值的XSLT获取节点
EN

Stack Overflow用户
提问于 2013-07-25 08:54:59
回答 2查看 67关注 0票数 0
代码语言:javascript
复制
  <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吗?我开始学习

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-25 09:39:56

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

代码语言:javascript
复制
<xsl:template match="/">
  <xsl:apply-templates select="//EntityOverview[LevelId = 10]"/>
  <xsl:apply-templates select="//EntityOverview[LevelId = 7"/>
</xsl:template>

或者你可以在LevelId上排序。

代码语言:javascript
复制
<xsl:template match="/">
  <xsl:apply-templates select="//EntityOverview">
    <xsl:sort select="LevelId" data-type="number" order="descending"/>
  </xsl:apply-templates>
</xsl:template>

使用XSLT2.0,您可以以更紧凑的形式编写内容:

代码语言:javascript
复制
<xsl:template match="/">
  <xsl:apply-templates select="//EntityOverview[LevelId = 10], //EntityOverview[LevelId = 7"/>
</xsl:template>
票数 0
EN

Stack Overflow用户

发布于 2013-07-25 09:02:21

也许是这样的?(假设xxx是根元素)

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17853347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档