1.添加元素到XML树
Add() ,在当前子节点末添加内容
AddFirst() ,在第一个子节点之前添加内容
AddAfterSelf() ,在当前节点后面添加内容
AddBeforeSelf() ,当前节点前面添加内容
2.移除XML树的元素和属性
RemoveAll() ,移除所有属性和子元素
RemoveAttribnutes(),移除所有属性
SetAttributeValue() ,增删改指定属性的值
SetElementValue(), 增删改指定子元素的值
3.补充,XNode.Remove() ,将当前节点从父节点中移除,
Extensions.Remove() ,将集合中的所有节点从它们的父节点中移除。
static void AddElement() { // //创建一个简单的xml数据 // string xmlData = @"<Root> // <ItemList1> // <Item1 /> // <Item2 /> // </ItemList1> // "; // //写入到临时文件 // File.WriteAllText("tmpData.xml", xmlData); // XElement root = XElement.Load("tmpData.xml",LoadOptions.SetLineInfo); XElement root = XElement.Load("F:\\XML\\siren.XML"); XElement ele1 = root.Element("body"); XElement ele0 = new XElement("ItemList0"); ele0.Add(new XElement("Item02")); ele0.AddFirst(new XElement("Item01"));//在当前节点的第一个节点之前添加数据 ele0.Add(new XElement("Item03"), new XElement("Item04")); ele1.AddBeforeSelf(ele0);//用于在当前节点之前添加内容 XElement ele4 = new XElement("ItemList4"); IEnumerable<XElement> elelist = from e in ele1.Elements() select e; ele4.AddFirst(elelist); ele1.AddAfterSelf(ele4); ele1.AddAfterSelf(new XElement("ItemList2"), new XElement("ItemList3"));//当前节点后面添加内容 //Console.WriteLine(root); //root.RemoveAttributes();//移除掉所有属性,但是不包括子元素的属性,,及最外层的属性 //root.RemoveAll(); //移除掉所有的子元素和属性 //root.RemoveNodes(); //移除所有子节点 XElement ele = root.Element("body");//选中某个节点,给某个节点添加属性 ele.SetAttributeValue("age", "23"); ele.SetElementValue("Name",null);//移除单个的子元素的值,多个的情况下移除第一个 ele.SetElementValue("Name1", "330"); //添加子元素. XElement ele2 = ele.Element("Name1"); ele2.SetAttributeValue("name", "校长"); ele2.SetAttributeValue("Age", "56"); var lit0 = from xl in root.Elements("ItemList0")//查询到某个节点集合 select xl; //foreach (var item in lit0) //{ // Console.WriteLine(item); //} lit0.Remove();//将该节点从父元素下全部移除 XElement ele11 = root.Element("ItemList2");//移除单个节点,不管父节点是谁 ele11.Remove(); Console.WriteLine(root); }