【发布时间】:2018-09-07 08:03:14
【问题描述】:
我想要一些技巧来完成反向结构:
XML 已编辑,太大,无法在此处发布
如下所示输入有Header和Body,body有EvenList,ObjectEvent和AggregationEvent
输入 XML:
<Document>
<Header />
<Body>
<EventList>
--> <ObjectEvent>
--> <eventTime>2018-09-06T08:51:24Z</eventTime>
--> </ObjectEvent>
<AggregationEvent>
<eventTime>2018-09-06T08:51:24Z</eventTime>
</AggregationEvent>
<AggregationEvent>
<eventTime>2018-09-06T08:51:24Z</eventTime>
</AggregationEvent>
<AggregationEvent>
<eventTime>2018-09-06T08:51:24Z</eventTime>
</AggregationEvent>
</EventList>
</Body>
</Document>
预期输出XML - XSLT 程序需要将ObjectEvent 的位置反转到最后一个AggregationEvent。
<Document>
<Header />
<Body>
<EventList>
<AggregationEvent>
<eventTime>2018-09-06T08:51:25Z</eventTime>
</AggregationEvent>
<AggregationEvent>
<eventTime>2018-09-06T08:51:25Z</eventTime>
</AggregationEvent>
--> <ObjectEvent>
--> <eventTime>2018-09-06T08:51:24Z</eventTime>
--> </ObjectEvent>
</EventList>
</Body>
</Document>
起点XSLT,无需逻辑:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*" />
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<xsl:template match="//AggregationEvent">
<xsl:copy>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
感谢您的意见。
问候,
【问题讨论】:
-
...您当然也有一些 XSLT 可以展示?
-
我不知道。我刚刚开始我在上面发布的内容。
标签: xml xslt xml-parsing