繁体   English   中英

XSLT:从XML到XML

[英]XSLT: From XML to XML

我没有太多XSLT经验,并且遇到过一些XSLT工作。

我有输入xml,例如:

<Element1>
    <Data>
        <Header a1="REF" a2="2014-06-09"></Header>
        <Detail_1 b1="X" b2="Y">
            <Detail_2 c1="9" c2="10"></Detail_2>
        </Detail_1>
        <Detail_1 b1="Z" b2="A">
            <Detail_2 c1="11" c2="12"></Detail_2>
        </Detail_1>
    </Data>
</Element1>

我想将其转换为以下内容,以尝试创建记录,即Header.a2 + Detail_1 + Detail_2:-

<n1:MyObject>
    <a2>2014-06-09</a2>
    <b1>X</b1>
    <b2>Y</b2>
    <c1>9</c1>
    <c2>10</c2>
</n1:MyObject>
<n1:MyObject>
    <a2>2014-06-09</a2>
    <b1>Z</b1>
    <b2>A</b2>
    <c1>11</c1>
    <c2>12</c2>
</n1:MyObject>

任何人都可以阐明如何进行转型吗?

谢谢。

<xsl:template match="Detail_1">
  <n1:MyObject>
    <xsl:apply-templates select="preceding-sibling::Header/@a2" mode="toElem" />
    <xsl:apply-templates select="descendant-or-self::*/@*" mode="toElem" />
  </n1:MyObject>
</xsl:template>

<xsl:template match="@*" mode="toElem">
  <xsl:element name="{name()}">
    <xsl:value-of select="." />
  </xsl:element>
</xsl:template>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM