【问题标题】:Getting xml parent node tag name with child node value using XSLT使用 XSLT 获取带有子节点值的 xml 父节点标记名称
【发布时间】:2012-09-20 14:10:04
【问题描述】:

我需要使用 xslt 转换 XML。

我想将具有子节点的节点转换为他的标签名称的节点 是父母的名字,他的价值是他的一个孩子的价值。

示例:

给定的xml:

<Parent>
  <ChildA>1</ChildA>
  <ChildB>2</ChildB>
</Parent>

所需的 xml 输出:

<Parent>2</Parent>

【问题讨论】:

    标签: xml xslt xml-parsing


    【解决方案1】:

    您没有指定您对哪个子节点感兴趣....

    类似这样的:

    <xsl:template match="Parent">
      <Parent>
        <xsl:value-of select="ChildB"/>
      </Parent>
    </xsl:template>
    

    使用名为ChildB(如果有)的第一个子节点的值。这个:

    <xsl:template match="Parent">
      <Parent>
        <xsl:value-of select="*[2]"/>
      </Parent>
    </xsl:template>
    

    使用第二个子节点的值。这个:

    <xsl:template match="Parent">
      <Parent>
        <xsl:value-of select="*[last()]"/>
      </Parent>
    </xsl:template>
    

    使用最后一个子节点的值....

    【讨论】:

      【解决方案2】:
      <xsl:element name="../node-name()">
       <xsl:value-of select="."/>
      </xsl:element>
      

      【讨论】:

      • 我觉得你需要大括号:name="{../name()}"
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多