Add Node to XmlDocument

Hi

I have the following structure
<Root>
<Person value='10'>
<DetailInfo value='abcd'>

</DetailInfo>
<Addresses>
</Addresses>
</Person>
<Person value='20'>
<DetailInfo value='abcd'>

</DetailInfo>
<Addresses>
</Addresses>
</Person>
<Person value='30'>
<DetailInfo value='abcd'>

</DetailInfo>
<Addresses>
</Addresses>
</Person>
</Root>

I want to add the  Rate and Grade to DetailInfo node based on person value and detail info value and
need to add address node to addresses node based on person value.
<Address>
<State></State>
<City></City>
<Country></Country>
</Address>

If anyone have clue pls help me.
Thanks
Ravi
pprasadraviAsked:
Who is Participating?
 
J_MakConnect With a Mentor Commented:
Have a look at this link:

http://samples.gotdotnet.com/quickstart/howto/doc/Xml/WriteXMLFile.aspx

It should help you. Cheers.
0
 
J_MakCommented:
Are you using .NET to do this? Please explain your situation. Cheers.
0
 
sathishvCommented:
If you are using JavaScript,

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load("test.xml");
personValue = 20;
detailValue = 'abcd';
var detailNode = xmlDoc.selectSingleNode("//DetailInfo[./Person[@value='" + personValue + "'] and ./DetailInfo[@value='" + detailValue + "']]");
var addressNode = detailNode.nextSibling;
var newNode = xmlDoc.createElement("Address");
var newNode2 = xmlDoc.createElement("State"); newNode2.text = "";
var newNode3 = xmlDoc.createElement("City"); newNode3.text = "";
var newNode4 = xmlDoc.createElement("Country"); newNode4.text = "";
newNode.appendChild(newNode2);
newNode.appendChild(newNode3);
newNode.appendChild(newNode4);
addressNode.appendChild(newNode);

The above strip of code selects a DetailInfo tag based on the given person value and detailinfo value, then selects the next sibling of the tag (which is the addresses tag) and appends the newly created elements to it.

Hope this helps.

Cheers,
Sathish
0
 
pprasadraviAuthor Commented:
i am sorry we are using asp.net and c#.
0
All Courses

From novice to tech pro — start learning today.