I am trying to use Xerces C++ to modify an XML file, but somehow the output file does not keep the attributes' order. I use the sample program, DOMPrint, to see how it reads and writes the XML file. The input files has the following header and nodes:
<?xml version="1.0" encoding="UTF-8"?> <configuration> .... <rule name="docws" enabled="true" stopProcessing="false"> <action type="Rewrite" url="http://localhost:9090/{R:0}" /> <match url="^docws(/(.*))?" /> </rule> <rule name="streaming" enabled="true" stopProcessing="false"> <action type="Rewrite" url="http://localhost:9090/{R:0}" /> <match url="^Streaming(/(.*))?" /> <conditions> <add input="{SERVER_PORT}" pattern="80" /> </conditions> </rule> .... </configuration> The output file becomes <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <configuration> .... <rule enabled="true" name="docws" stopProcessing="false"> <action type="Rewrite" url="http://localhost:9090/{R:0}"/> <match url="^docws(/(.*))?"/> </rule> <rule enabled="true" name="streaming" stopProcessing="false"> <action type="Rewrite" url="http://localhost:9090/{R:0}"/> <match url="^Streaming(/(.*))?"/> <conditions> <add input="{SERVER_PORT}" pattern="80"/> </conditions> </rule> .... </configuration> The output file adds a new 'standalone' attribute to the header and changes the order of 'name' and 'enabled' attributes of the 'rule' node. If I add the setXmlStandalone(true) call to the root document, it does not remove the 'standalone' attribute but only changes it to 'yes' How can this be fixed? Thanks. Alex ----