ومن المعروف أن هناك ملف XML (bookstore.xml) كما يلي:
<مكتبة>
<نوع الكتاب = "فانتازيا" رقم ISBN = "2-3631-4">
1. أدخل عقدة
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("bookstore.xml");
XmlNode root=xmlDoc.SelectSingleNode("bookstore");// ابحث عن
XmlElement xe1=xmlDoc.CreateElement("book");// أنشئ عقدة
xe1.SetAttribute ("genre"، "Li Zanhong")؛ // تعيين سمة النوع للعقدة
xe1.SetAttribute("ISBN"،"2-3631-4");// قم بتعيين سمة ISBN للعقدة
XmlElement xesub1=xmlDoc.CreateElement("title");
xesub1.InnerText="CS من المبتدئين إلى المحترفين";//تعيين العقد النصية
xe1.AppendChild(xesub1);// أضف إلى العقدة
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);// أضف إلى عقدة
xmlDoc.Save("bookstore.xml");
//================================================================================================
والنتيجة هي:
<مكتبة>
<نوع الكتاب = "فانتازيا" رقم ISBN = "2-3631-4">
<السعر>5.95السعر>
كتاب>
<نوع الكتاب = "李zanhong" ISBN = "2-3631-4">
<السعر>58.3السعر>
كتاب>
2. تعديل العقدة: قم بتغيير قيمة النوع للعقدة التي تكون قيمة سمة النوع الخاصة بها هي "Li Zanhong" إلى "تحديث Li Zanhong"، وقم بتعديل نص العقدة الفرعية
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");//حفظ.
//================================================================================================ ==
النتيجة النهائية هي:
<مكتبة>
<نوع الكتاب = "فانتازيا" رقم ISBN = "2-3631-4">
3. احذف سمة النوع لعقدة
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");
//===============================================================================================
النتيجة النهائية هي:
<مكتبة>
<كتاب رقم ISBN = "2-3631-4">
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);// عرض نص العقدة الفرعية
}
}