I am using a very stupid method, but it can help beginners understand the process of accessing XML nodes.
It is known that there is an XML file (bookstore. xml) as follows:
<? Xml version = "1.0" encoding = "gb2312"?>
<Bookstore>
<Book genre = "fantasy" ISBN = "2-3631-4">
<Title> Oberons Legacy </title>
<Author> Corets, Eva </author>
<Price> 5.95 </price>
</Book>
</Bookstore>
1. Insert a <book> node to the <bookstore> node:
XmlDocument xmlDoc = new XmlDocument ();
XmlDoc. Load ("bookstore. xml ");
XmlNode root = xmlDoc. SelectSingleNode ("bookstore"); // query <bookstore>
XmlElement xe1 = xmlDoc. CreateElement ("book"); // create a <book> node
Xe1.SetAttribute ("genre", "lizan red"); // you can specify the genre attribute of the node.
Xe1.SetAttribute ("ISBN", "2-3631-4"); // you can specify the ISBN attribute of the node.
XmlElement xesub1 = xmlDoc. CreateElement ("title ");
Xesub1.InnerText = "CS from entry to entry"; // set a text node
Xe1.AppendChild (xesub1); // Add it to the <book> node
XmlElement xesub2 = xmlDoc. CreateElement ("author ");
Xesub2.InnerText = "Hou Jie ";
Xe1.AppendChild (xesub2 );
XmlElement xesub3 = xmlDoc. CreateElement ("price ");
Xesub3.InnerText = "58.3 ";
Xe1.AppendChild (xesub3 );
Root. AppendChild (xe1); // Add it to the <bookstore> node
XmlDoc. Save ("bookstore. xml ");
File: // ============================
Result:
<? Xml version = "1.0" encoding = "gb2312"?>
<Bookstore>
<Book genre = "fantasy" ISBN = "2-3631-4">
<Title> Oberons Legacy </title>
<Author> Corets, Eva </author>
<Price> 5.95 </price>
</Book>
<Book genre = "Li zanhong" ISBN = "2-3631-4">
<Title> CS from entry to entry </title>
<Author> Hou Jie </author>
<Price> 58.3 </price>
</Book>
</Bookstore>
2. Modify the node: Change the genre value of the node whose genre attribute value is "Li zenhong" to "update Li zenhong ", modify the text of the child node <author> of the node to "Yasheng ".
XmlNodeList nodeList = xmlDoc. SelectSingleNode ("bookstore"). ChildNodes; // obtain all the subnodes of the bookstore Node
Foreach (XmlNode xn in nodeList) // traverses all subnodes
{
XmlElement xe = (XmlElement) xn; // converts the subnode type to the XmlElement type
If (xe. GetAttribute ("genre") = "") // if the genre attribute value is ""
{
Xe. SetAttribute ("genre", "update lizan red"); // you can change this attribute to "update lizan red"
XmlNodeList nls = xe. ChildNodes; // continue to obtain all the child nodes of the xe subnode
Foreach (XmlNode xn1 in nls) // traverse
{
XmlElement xe2 = (XmlElement) xn1; // Conversion Type
If (xe2.Name = "author") // if you find
{
Xe2.InnerText = "Yasheng"; // modify
Break; // find and exit.
}
}
Break;
}
}
XmlDoc. Save ("bookstore. xml"); // Save.
File: // ============================