1. ทราบว่ามีไฟล์ XML (bookstore.xml) ดังนี้
<ร้านหนังสือ>
<ราคา>5.95ราคา>
หนังสือ>
ร้านหนังสือ>
1. ใส่โหนด
XmlDocument xmlDoc=XmlDocument ใหม่();
xmlDoc.Load("ร้านหนังสือ.xml");
XmlNode root=xmlDoc.SelectSingleNode("ร้านหนังสือ");//ค้นหา <ร้านหนังสือ>
XmlElement xe1=xmlDoc.CreateElement("book");//สร้างโหนด
xe1.SetAttribute("genre","Li Zanhong");//ตั้งค่าแอตทริบิวต์ประเภทของโหนด
xe1.SetAttribute("ISBN","2-3631-4");//ตั้งค่าแอตทริบิวต์ ISBN ของโหนด
XmlElement xesub1=xmlDoc.CreateElement("ชื่อ");
xesub1.InnerText="CS from Beginner to proficient";//ตั้งค่าโหนดข้อความ
xe1.AppendChild(xesub1);//เพิ่มไปยังโหนด
XmlElement xesub2=xmlDoc.CreateElement("ผู้เขียน");
xesub2.InnerText="houjie";
xe1.ผนวกเด็ก(xesub2);
XmlElement xesub3=xmlDoc.CreateElement("ราคา");
xesub3.InnerText="58.3";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);//เพิ่มไปยังโหนด
xmlDoc.Save("ร้านหนังสือ.xml");
-
ผลลัพธ์คือ:
<ร้านหนังสือ>
<ราคา>5.95ราคา>
หนังสือ>
<ราคา>58.3ราคา>
หนังสือ>
ร้านหนังสือ>
2. แก้ไขโหนด: เปลี่ยนค่าประเภทของโหนดที่มีค่าแอตทริบิวต์ประเภทเป็น "Li Zanhong" เป็น "updateLi Zanhong" และแก้ไขข้อความของโหนดลูก
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");//แก้ไขแอตทริบิวต์เป็น "update 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");//Save.
//==================
ผลลัพธ์สุดท้ายคือ:
<ร้านหนังสือ>
<ราคา>5.95ราคา>
หนังสือ>
<ราคา>58.3ราคา>
หนังสือ>
ร้านหนังสือ>
3. ลบแอตทริบิวต์ประเภทของโหนด
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");
-
ผลลัพธ์สุดท้ายคือ:
<ร้านหนังสือ>
<หนังสือ ISBN="2-3631-4">
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);//แสดงข้อความโหนดลูก
-
-
ทิ้งไว้อ้างอิงที่อยู่เดิม http://blog.yesky.com/75/richsee/1211075.shtml
2 โค้ดส่วนหน้า: html
<%@ ภาษาเพจ = "c#" Codebehind = "Main.aspx.cs" AutoEventWireup = "false" สืบทอด = "DsAndXML.OpXMLFile.Main" %>
<หัว>