เป็นที่รู้กันว่ามีไฟล์ XML (bookstore.xml) ดังนี้
<?xml version="1.0" encoding="gb2312"?>
<ร้านหนังสือ>
<book category="แฟนตาซี" ISBN="2-3631-4">
<title>มรดกของโอเบรอน</title>
<author>โคเร็ตส์, เอวา</author>
<ราคา>5.95</ราคา>
</หนังสือ>
</bookstore>
1. ใส่โหนด <book> ลงในโหนด <bookstore>:
XmlDocument xmlDoc=XmlDocument ใหม่();
xmlDoc.Load("ร้านหนังสือ.xml");
XmlNode root=xmlDoc.SelectSingleNode("ร้านหนังสือ");//ค้นหา <ร้านหนังสือ>
XmlElement xe1=xmlDoc.CreateElement("book");//สร้างโหนด <book>
xe1.SetAttribute("genre","Li Zanhong");//ตั้งค่าแอตทริบิวต์ประเภทของโหนด
xe1.SetAttribute("ISBN","2-3631-4");//ตั้งค่าแอตทริบิวต์ ISBN ของโหนด
XmlElement xesub1=xmlDoc.CreateElement("title");
xesub1.InnerText="CS from Beginner to proficient";//ตั้งค่าโหนดข้อความ
xe1.AppendChild(xesub1);//เพิ่มไปยังโหนด <book>
XmlElement xesub2=xmlDoc.CreateElement("ผู้เขียน");
xesub2.InnerText="houjie";
xe1.ผนวกเด็ก(xesub2);
XmlElement xesub3=xmlDoc.CreateElement("ราคา");
xesub3.InnerText="58.3";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);//เพิ่มไปยังโหนด <bookstore>
xmlDoc.Save("ร้านหนังสือ.xml");
-
ผลลัพธ์คือ:
<?xml version="1.0" encoding="gb2312"?>
<ร้านหนังสือ>
<book category="แฟนตาซี" ISBN="2-3631-4">
<title>มรดกของโอเบรอน</title>
<author>โคเร็ตส์, เอวา</author>
<ราคา>5.95</ราคา>
</หนังสือ>
<book type="李zanhong" ISBN="2-3631-4">
<title>CS ตั้งแต่เริ่มต้นจนถึงต้นแบบ</title>
<author>โฮ่วเจี๋ย</author>
<ราคา>58.3</ราคา>
</หนังสือ>
</bookstore>
2. แก้ไขโหนด: เปลี่ยนค่าประเภทของโหนดที่มีค่าแอตทริบิวต์ประเภทเป็น "Li Zanhong" เป็น "อัปเดต Li Zanhong" และแก้ไขข้อความของโหนดย่อย <author> ของโหนดนี้เป็น "Ya เซิง".
XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//รับโหนดย่อยทั้งหมดของโหนดร้านหนังสือ
foreach(XmlNode xn ใน nodeList)//สำรวจโหนดย่อยทั้งหมด
-
XmlElement xe=(XmlElement)xn;//แปลงประเภทโหนดย่อยเป็นประเภท XmlElement
if(xe.GetAttribute("genre")=="Li Zanhong")//หากค่าแอตทริบิวต์ประเภทเป็น "Li Zanhong"
-
xe.SetAttribute("genre","update Li Zanhong");//แก้ไขคุณลักษณะนี้เป็น "อัปเดต Li Zanhong"
XmlNodeList nls=xe.ChildNodes;//รับโหนดลูกทั้งหมดของโหนดลูก xe ต่อไป
foreach (XmlNode xn1 ใน nls) // Traverse
-
XmlElement xe2=(XmlElement)xn1;//ประเภทการแปลง
if(xe2.Name=="author")//หากพบ
-
xe2.InnerText="Yasheng";//แก้ไข
break;//แค่หามันให้เจอแล้วออก
-
-
หยุดพัก;
-
}
xmlDoc.Save("bookstore.xml");//บันทึก
//================================================ ==
ผลลัพธ์สุดท้ายคือ:
<?xml version="1.0" encoding="gb2312"?>
<ร้านหนังสือ>
<book category="แฟนตาซี" ISBN="2-3631-4">
<title>มรดกของโอเบรอน</title>
<author>โคเร็ตส์, เอวา</author>
<ราคา>5.95</ราคา>
</หนังสือ>
<book type="update李zanhong" ISBN="2-3631-4">
<title>CS ตั้งแต่เริ่มต้นจนถึงต้นแบบ</title>
<author>การโจมตี</author>
<ราคา>58.3</ราคา>
</หนังสือ>
</bookstore>
3. ลบแอตทริบิวต์ประเภทของโหนด <book type="fantasy" ISBN="2-3631-4"> และลบ <book ประเภท="update Li Zanhong" ISBN="2-3631-4 "> โหนด
XmlNodeList xnl=xmlDoc.SelectSingleNode("ร้านหนังสือ").ChildNodes;
foreach(XmlNode xn ใน xnl)
-
XmlElement xe=(XmlElement)xn;
ถ้า(xe.GetAttribute("ประเภท")=="แฟนตาซี")
-
xe.RemoveAttribute("genre");//ลบแอตทริบิวต์ประเภท
-
อื่น ๆ if(xe.GetAttribute("genre")=="updateLi Zanhong")
-
xe.RemoveAll();//ลบเนื้อหาทั้งหมดของโหนด
-
-
xmlDoc.Save("ร้านหนังสือ.xml");
-
ผลลัพธ์สุดท้ายคือ:
<?xml version="1.0" encoding="gb2312"?>
<ร้านหนังสือ>
<หนังสือ ISBN="2-3631-4">
<title>มรดกของโอเบรอน</title>
<author>โคเร็ตส์, เอวา</author>
<ราคา>5.95</ราคา>
</หนังสือ>
<หนังสือ>
</หนังสือ>
</ร้านหนังสือ>
4. แสดงข้อมูลทั้งหมด
XmlNode xn=xmlDoc.SelectSingleNode("ร้านหนังสือ");
XmlNodeList xnl=xn.ChildNodes;
foreach(XmlNode xnf ใน xnl)
-
XmlElement xe=(XmlElement)xnf;
Console.WriteLine(xe.GetAttribute("ประเภท"));//แสดงค่าแอตทริบิวต์
Console.WriteLine(xe.GetAttribute("ISBN"));
XmlNodeList xnf1=xe.ChildNodes;
foreach (XmlNode xn2 ใน xnf1)
-
Console.WriteLine(xn2.InnerText);//แสดงข้อความโหนดลูก
-
-