xml - 提取标签名称、属性及其值

标签 xml xslt

示例 xml 文件如下所示

<a>
<apple color="red"/>
<banana color="yellow"/>
<sugar taste="sweet"/>
<cat size="small"/>
</a>

我应该在 XSLT 中编写什么才能获得下面的示例输出

<AAA>apple</AAA>
<BBB>color</BBB>
<CCC>red</CCC>
<AAA>banana</AAA>
<BBB>color</BBB>
<CCC>yellow</CCC>

下面是我编写的 XSLT 文件,但我不知道如何提取该值。

<xsl:template match="*/*">
<AAA>
  <xsl:value-of select="name()"/>
</AAA>
  <xsl:apply-templates select="@*"/>
</xsl:template>
<xsl:template match="@*">
<BBB>
  <xsl:value-of select="name()"/>
</BBB>
</xsl:template>

最佳答案

你的xml应该是这样的

<catalog>
    <fruit>
        <name>apple </name>
        <color>red</color>
    </fruit>
    <fruit>
        <name>banana  </name>
        <color>yellow</color>
    </fruit>
</catalog>

XSLT 为:

 <xsl:for-each select="catalog/fruit">
      <tr>
        <td><AAA><xsl:value-of select="title"/></AAA></td>
        <td><BBB>color</BBB></td>
        <td><CCC><xsl:value-of select="color"/></CCC></td>
      </tr>
      </xsl:for-each>

关于xml - 提取标签名称、属性及其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8555524/

相关文章:

xml - XSLT 替换存在于另一个元素值中的元素

php - XPath 在匹配占位符的属性节点时失败

java - 将约定插件与 struts.xml 一起使用

xml - 命名空间声明问题

xml - 如何在 XSLT 中对多个节点的值求和

xml - XSLT - 有没有办法附加到用 <xsl :attribute>? 添加的属性

c# - 如何从给定的 XSLT 文件获取版本号。

java - JAXB 混合内容列表包含换行符

java - 使用 SAX 从行集架构中获取列名

xml - XSL 只显示第一个值