我有一个问题。现在我想在同一节点中移动元素。
我有这个
<test>
- <invoice>
<id>163-01</id>
<date>2016-09-06</date>
<cadreLegal>LAB</cadreLegal>
<prestataire>907</prestataire>
<personneProtegee>1951</personneProtegee>
<dateEtablissement>2016-09-06</dateEtablissement>
<heureEtablissement>13:22:00</heureEtablissement>
</invoice>
- <invoice>
<id>163-01</id>
<date>2016-09-06</date>
<cadreLegal>LAB</cadreLegal>
<prestataire>907</prestataire>
<personneProtegee>1951</personneProtegee>
<dateEtablissement>2016-09-06</dateEtablissement>
<heureEtablissement>13:22:00</heureEtablissement>
</invoice>
</test>
我会撒谎将“id”移动到节点中的最后一个位置。
<test>
- <invoice>
<date>2016-09-06</date>
<cadreLegal>LAB</cadreLegal>
<prestataire>907</prestataire>
<personneProtegee>1951</personneProtegee>
<dateEtablissement>2016-09-06</dateEtablissement>
<heureEtablissement>13:22:00</heureEtablissement>
<id>163-01</id>
</invoice>
- <invoice>
<date>2016-09-06</date>
<cadreLegal>LAB</cadreLegal>
<prestataire>907</prestataire>
<personneProtegee>1951</personneProtegee>
<dateEtablissement>2016-09-06</dateEtablissement>
<heureEtablissement>13:22:00</heureEtablissement>
<id>163-01</id>
</invoice>
</test>
我尝试了这段代码,它运行得很好(经过一些研究)。
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<!-- identity transform -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="order">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="invoice">
<xsl:copy>
<xsl:apply-templates select="cadreLegal|prestatairePrescripteur | personneProtegee | dateEtablissement | heureEtablissement "/>
<xsl:apply-templates select="id "/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
提前感谢您的帮助。