【发布时间】:2013-12-12 09:24:33
【问题描述】:
我有一个 xml:
<FlightDetails1>
<CouponNumber1>1</CouponNumber1>
<ServiceClass1>Y</ServiceClass1>
</FlightDetails1>
<FlightDetails2>
<CouponNumber2>2</CouponNumber2>
<ServiceClass2>Y</ServiceClass2>
</FlightDetails2>
<FlightDetails3>
<CouponNumber3></CouponNumber3>
<ServiceClass3>N</ServiceClass3>
</FlightDetails3>
需要将此xml转换为以下格式:
<FlightDetails>
<CouponNumber>1</CouponNumber>
<ServiceClass>Y</ServiceClass>
</FlightDetails>
<FlightDetails>
<CouponNumber>2</CouponNumber>
<ServiceClass>Y</ServiceClass>
</FlightDetails>
<FlightDetails>
<CouponNumber></CouponNumber>
<ServiceClass>N</ServiceClass>
</FlightDetails>
以前,当标签类似于<FlightDetails> and <CouponNumber> 时,我在 XSLT 中使用了“复制”功能。随着标签被重命名,使用 xslt 实现这一目标的最简单方法是什么?
XSLT:
<xsl:output indent="yes"/>
<xsl:template match="/">
<xsl:copy-of select="//FlightDetails1"/>
</xsl:template>
【问题讨论】:
-
" 使用 xslt 实现这一目标的最简单方法是什么?" 最简单 方法取决于您的 XML 中还有什么(或可能是)。您不必总是通过名称(或名称的一部分)来引用元素;有时根据上下文选择节点更方便。
标签: xml xslt transformation