Xslt用xml创建属性文件,其中xml元素路径为name,值为value

时间:2018-05-11 04:44:10

标签: xml xslt

您好,我有一个要求,我有一个xml文件(通用元素名称和节点可能会更改)。目的是从中生成属性文件,其中左侧是元素名称的绝对路径,右侧是该元素的值。 例如: -

如果我有xml以下: -

<?xml version="1.0" encoding="UTF-8"?>
<group>
<root>
  <child>
    <subchild>xyz</subchild>
  </child>
</root>
<root1>
  <child>
    <subchild>abc</subchild>
  </child>
</root1>
<root2>
  <child>
    <subchild>pqr</subchild>
  </child>
</root2>
<root3>
  <child>
    <subchild>lmn</subchild>
  </child>
</root3>
</group>

然后输出应该是: -

/group/root/child/subchild=xyz
/group/root1/child/subchild=abc
/group/root2/child/subchild=pqr
/group/root3/child/subchild=lmn

到目前为止,我已经在xslt下面写了但它无法正常工作: -

<?xml version="1.0"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

    <xsl:output method="text" />

    <xsl:template match="node()">
        <xsl:for-each select="ancestor-or-self::*">
            <xsl:value-of select="concat('/',name(.))"/>
        </xsl:for-each>
<xsl:value-of select="concat('=',.)"/>
        <xsl:text>&#xA;</xsl:text>

        <xsl:apply-templates select="*"/>
    </xsl:template>
</xsl:transform>

任何帮助都会非常感激。

thansk。

0 个答案:

没有答案