c# - how to reoder the xml -


workign on xml reorder xml follows:

 <subjects>    <subject>      <name></name>      <height></height>      <addresss>         <address>            <city>ab</city>         </address>      </addresses>    </subject>    <subject>      <name></name>      <height></height>      <addresss>         <address>            <city>cd</city>         </address>      </addresses>    </subject>  </subjects> 

now want creat xml follows adding address reference subject

<order>  <subjects>    <subject>      <name></name>      <height></height>      <address ref="a1"/>    </subject>    <subject>      <name></name>      <height></height>       <address ref="a2"/>          </subject>  </subjects>  <addresss>      <address id="a1">         <city>ab</city>       </address>             <address id="a2">         <city>ab</city>       </address>   </addresses> </order> 

how can accomplish sql or linq?

using xmldocumentclass can use importnode method transfer element document another, below:

var index     = 0; var output    = new xmldocument(); var order     = output.appendchild(output.createelement("order"    )); var subjects  = order .appendchild(output.createelement("subjects" )); var addresses = order .appendchild(output.createelement("addresses")); foreach (xmlelement subject in input.selectnodes("/subjects/subject")) {     index++;      var address = (xmlelement)subject.removechild(subject.selectsinglenode("addresses"));         address = (xmlelement)address.firstchild;   // addresses address         address.setattribute("id", index.tostring());      var newaddress = (xmlelement)subject.appendchild(input.createelement("address"));         newaddress.setattribute("ref", index.tostring());      subjects .appendchild(output.importnode(subject, true));     addresses.appendchild(output.importnode(address, true)); }  output.save(console.out); console.readline(); 

Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -