[英]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.