Diciamo che hai un file xml:
codice:
<?xml version="1.0" encoding="UTF-8"?>
<radice>
<nodo>
<aa>ccc</aa>
<bb>5</bb>
</nodo>
<nodo>
<aa>aaa</aa>
<bb>1</bb>
</nodo>
<nodo>
<aa>bbb</aa>
<bb>3</bb>
</nodo>
</radice>
Per ordinare il file in base al contenuto di <aa> dovrai fare un foglio xsl di questo tipo
codice:
<?xml-stylesheet type="text/xml"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:template match="/">
<radice>
<xsl:apply-templates select="radice"/>
</radice>
</xsl:template>
<xsl:template match="radice">
<xsl:apply-templates select="nodo">
<xsl:sort select="aa" data-type="text" order="ascending"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="nodo">
<nodo>
<aa>
<xsl:value-of select="aa"/>
</aa>
<bb>
<xsl:value-of select="bb"/>
</bb>
</nodo>
</xsl:template>
</xsl:stylesheet>
e per concludere una pagina asp che fa la trasformazione:
codice:
Set XML = Server.CreateObject("MSXML2.DOMDocument")
Set XSL = Server.CreateObject("MSXML2.DOMDocument")
Set RES = Server.CreateObject("MSXML2.DOMDocument")
XML.async = false
XML.load(Server.MapPath("filexml.xml"))
XSL.async = false
XSL.load(Server.MapPath("filexsl.xsl"))
RES.async = false
XML.transformNodeToObject XSL,RES
a questo punto RES contiene il documento xml ordinato.