ومن المعروف أن هناك ملف XML (bookstore.xml) كما يلي:
<?xml version="1.0" encoding="gb2312"?>
<مكتبة>
<نوع الكتاب = "فانتازيا" رقم ISBN = "2-3631-4">
<title>تراث أوبيرون</title>
<author>كوريتس، إيفا</author>
<السعر>5.95</السعر>
</كتاب>
</bookstore>
1. أدخل عقدة <book> في عقدة <bookstore>:
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("bookstore.xml");
XmlNode root=xmlDoc.SelectSingleNode("bookstore");// ابحث عن <bookstore>
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 من المبتدئين إلى المحترفين";//تعيين العقد النصية
xe1.AppendChild(xesub1);// أضف إلى العقدة <book>
XmlElement xesub2=xmlDoc.CreateElement("author");
xesub2.InnerText="houjie";
xe1.AppendChild(xesub2);
XmlElement xesub3=xmlDoc.CreateElement("price");
xesub3.InnerText="58.3";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);// أضف إلى عقدة <bookstore>
xmlDoc.Save("bookstore.xml");
//================================================================================================
والنتيجة هي:
<?xml version="1.0" encoding="gb2312"?>
<مكتبة>
<نوع الكتاب = "فانتازيا" رقم ISBN = "2-3631-4">
<title>تراث أوبيرون</title>
<author>كوريتس، إيفا</author>
<السعر>5.95</السعر>
</كتاب>
<نوع الكتاب = "李zanhong" ISBN = "2-3631-4">
<title>CS من الدخول إلى الماجستير</title>
<author>هوجي</author>
<السعر>58.3</السعر>
</كتاب>
</bookstore>
2. تعديل العقدة: قم بتغيير قيمة النوع للعقدة التي تكون قيمة سمة النوع الخاصة بها هي "Li Zanhong" إلى "تحديث Li Zanhong"، وقم بتعديل نص العقدة الفرعية <author> لهذه العقدة إلى "Ya" شنغ".
XmlNodeListNodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;// احصل على جميع العقد الفرعية لعقدة المكتبة
foreach(XmlNode xn inNodeList)// اجتياز جميع العقد الفرعية
{
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 in nls)//Traverse
{
XmlElement xe2=(XmlElement)xn1;//نوع التحويل
if(xe2.Name==author)//إذا وجدت
{
xe2.InnerText="Yasheng";//تعديل
Break;// فقط ابحث عنه واخرج.
}
}
استراحة؛
}
}
xmlDoc.Save("bookstore.xml");//حفظ.
//================================================================================================ ==
النتيجة النهائية هي:
<?xml version="1.0" encoding="gb2312"?>
<مكتبة>
<نوع الكتاب = "فانتازيا" رقم ISBN = "2-3631-4">
<title>تراث أوبيرون</title>
<author>كوريتس، إيفا</author>
<السعر>5.95</السعر>
</كتاب>
<نوع الكتاب = "تحديث 李zanhong" رقم ISBN = "2-3631-4">
<title>CS من الدخول إلى الماجستير</title>
<author>الاعتداء</author>
<السعر>58.3</السعر>
</كتاب>
</bookstore>
3. احذف سمة النوع لعقدة <book type="fantasy" ISBN = "2-3631-4"> واحذف <book type = "update Li Zanhong" ISBN = "2-3631-4" "> العقدة.
XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes
foreach(XmlNode xn in xnl)
{
XmlElement xe=(XmlElement)xn;
إذا (xe.GetAttribute("genre")===الخيال))
{
xe.RemoveAttribute("genre");//احذف سمة النوع
}
وإلا إذا (xe.GetAttribute("genre")==updateLi Zanhong")
{
xe.RemoveAll();// احذف جميع محتويات العقدة
}
}
xmlDoc.Save("bookstore.xml");
//===============================================================================================
النتيجة النهائية هي:
<?xml version="1.0" encoding="gb2312"?>
<مكتبة>
<كتاب رقم ISBN = "2-3631-4">
<title>تراث أوبيرون</title>
<author>كوريتس، إيفا</author>
<السعر>5.95</السعر>
</كتاب>
<كتاب>
</كتاب>
</bookstore>
4. عرض كافة البيانات.
XmlNode xn=xmlDoc.SelectSingleNode("bookstore"
)
;
{
XmlElement xe=(XmlElement)xnf;
Console.WriteLine(xe.GetAttribute("genre"));//عرض قيمة السمة
Console.WriteLine(xe.GetAttribute("ISBN"));
XmlNodeList xnf1=xe.ChildNodes;
foreach(XmlNode xn2 في xnf1)
{
Console.WriteLine(xn2.InnerText);// عرض نص العقدة الفرعية
}
}