XSLT在标准副本期间重新排序XML标记

时间:2018-03-29 23:57:06

标签: xml xslt

我正在使用以下内容按原样复制XSLT内容。但这是重新排序xml标签。这是微软XSLT转型中的一个错误。我是从C#做的。复制

下面的C#代码和xsl文件内容

C#代码:

XPathDocument doc = new XPathDocument(new StringReader(data));
XslTransform xsltransform = new XslTransform();
//Load the stylesheet.
xsltransform.Load(xslFile);

// transform
using (StringWriter sw = new StringWriter())
{
    xsltransform.Transform(doc, null, sw);

    // save to string
    outputText = sw.ToString();
}

xsl内容:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">  
<xsl:template match="Root">
  <Root>
    <xsl:apply-templates/>
  </Root>
</xsl:template>
<xsl:template match="@*|node()">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>
</xsl:stylesheet>

自:

<Root>
<one>
  <one-1>
    <one-2>
    </one-2>
  </one-1>
</one>
<two>
  <two-1>
    <two-2>
    </two-2>
  </two-1>
</two>
</Root>

要:

<Root>
<one>
 <two>
  <two-1>
    <two-2>
    </two-2>
  </two-1>
 </two>      
</one>
<one-1>
  <one-2>
  </one-2>
</one-1>
</Root>

0 个答案:

没有答案