Ahí te mostró
andresdzphp el otro orden aunque no entiendo el xpath para algo tan sencillo, otra opción es utilizar xslt, por ejemplo si quisieras crear una tabla que liste ordenado por codparam y elemento, podrias hacer algo asi:
style.xsl
Código XML:
Ver original<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8"/>
<xsl:template match="/">
<table>
<thead>
<tr>
<th>codparam</th>
<th>element</th>
</tr>
</thead>
<tbody>
<xsl:for-each select="//evolucion">
<xsl:sort select="@codparam" />
<xsl:sort select="elemento" />
<tr>
<td><xsl:value-of select="@codparam" /></td>
<td><xsl:value-of select="elemento" /></td>
</tr>
</xsl:for-each>
</tbody>
</table>
</xsl:template>
</xsl:stylesheet>
Código PHP:
Ver original$xml = DOMDocument::loadXML($xml);
$xslt = new XSLTProcessor();
$xsl = new DOMDocument();
$xsl->load('style.xsl', LIBXML_NOCDATA);
$xslt->importStylesheet($xsl);
echo $xslt->transformToXML($xml);
este approach tiene dos problemas, primero hay que manejar xslt, y segundo la extensión tiene que estar habilitada y no siempre es así.
Saludos.