xml - 使用XSL获取XML的子节点名称

标签 xml xslt

我有一个具有以下结构的 XML 程序

<Part>
     <ID>1</ID>
     <Density>3</Density>
     <Parameter>
           <Element>Alloy</Element>
     </Parameter>
</Part>

我想创建一个 XSL 以这样的方式转换这个 XML

ID 1
Density 3
Element Alloy

我该怎么做?有人可以帮我解决这个问题......

最佳答案

您没有指定所需的输出类型,但我猜是 HTML,这并不重要,可以使用相同的原则。我还猜测 Parameter 元素可能包含具有不同标签名称的各种元素。

下面是转换:-

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />

    <xsl:template match="Part">
        <html>
            <div>
                <xsl:text>ID </xsl:text>
                <xsl:value-of select="ID" />
            </div>
            <div>
                <xsl:text>Density </xsl:text>
                <xsl:value-of select="Density" />
            </div>
            <xsl:for-each select="Parameter/*">
                <div>
                    <xsl:value-of select="name()" />
                    <xsl:text> </xsl:text>
                    <xsl:value-of select="." />
                </div>
            </xsl:for-each>
        </html>
    </xsl:template>

</xsl:stylesheet>

关于xml - 使用XSL获取XML的子节点名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2288779/

相关文章:

java - 如何在 Java dom xml 解析中从我的节点解析中删除#text

xmlstarlet:使用单个查询查询和连接嵌套子元素

java - 在什么情况下尖括号用反斜杠转义?

xml - 从 xml 元素数据中删除最后一个字符

android - Eclipse 错误 : Error parsing . ..\android-22\android-wear\armeabi-v7a\devices.xml

java - docx4j 3.0 pdf 导出失败并出现 Docx4JException

xslt - 如何通过检查其同级的值来有条件地更改属性?

xml - 是否可以从XPath值列表和XML XSD构建XML文档?

Eclipse 支持 .xsl 文件中的断点吗?

c++ - RapidXML是否支持xml :space ="preserve"?