本节目标:

XML节点的添加

XML节点的修改

XML节点的替换

XML节点的删除
 
使用的xml文档
 

 

 

1.xml节点的增加
通过节点的AppendChild(XmlNode newChild)方法和Attribute等属性对Xml文档做出修改后使用Save(string fielname)方法保存。
XmlDocument document = new XmlDocument();
//加载指定位置的XML文档
document.Load(@"d:/tree.xml");
//根据XPath表达式筛选出匹配表达式的第一个节点

 XmlNode node = document.SelectSingleNode("tree");

//创建一个新的节点
XmlNode newnode = document.CreateNode(XmlNodeType.Element, "newnode", "");
//创建一个属性
XmlAttribute attribute = (XmlAttribute)document.CreateNode(XmlNodeType.Attribute, "id", "");
//为属性赋值
 
 attribute.Value = "1";
//把newnode节点添加到node节点列表中
node.AppendChild(newnode);
//将attribute属性插入node节点的属性集合中
node.Attributes.Append(attribute);
//保存xml文档
document.Save(@"d:/tree.xml");
完成后的xml文档:
2 xml的修改
使用节点的Attributes属性和InnerText等属性对节点做出修改,修改后通过Save(string filename)方法保存
XmlDocument document = new XmlDocument();
//加载指定位置的XML文档
document.Load(@"d:/tree.xml");
//根据XPath表达式筛选出匹配表达式的第一个节点
XmlNode node = document.SelectSingleNode("tree");
//将node节点属性列表的第一个属性值改为updateattribute
node.Attributes[0].Value = "updateattribute";
//将node节点下第一个子节点的InnerText改为updateinnertext
node.FirstChild.InnerText = "updateinnertext";
//保存xml文档
document.Save(@"d:/tree.xml");
修改后的xml文档:
 

 

 

3 xml节点的替换
使用节点的ReplaceChild(XmlNode newChild, XmlNode oldChild)方法替换节点,替换后通过Save(string filename)方法保存
XmlDocument document = new XmlDocument();
//加载指定位置的XML文档
document.Load(@"d:/tree.xml");
//根据XPath表达式筛选出匹配表达式的第一个节点
XmlNode node = document.SelectSingleNode("tree");
//创建一个新的节点
XmlNode newnode = document.CreateNode(XmlNodeType.Element, "newnode", "");
//用newnode节点替换node节点下的第一个子节点
node.ReplaceChild(newnode, node.FirstChild);
//保存xml文档
document.Save(@"d:/tree.xml");
替换后的xml文档:

 

4 Xml文档节点的删除
使用节点的RemoveChild(XmlNode oldChild)等方法删除该节点下的子节点,删除后通过Save(string filename)方法保存。
XmlDocument document = new XmlDocument();
//加载指定位置的XML文档
document.Load(@"d:/tree.xml");
//根据XPath表达式筛选出匹配表达式的第一个节点
XmlNode node = document.SelectSingleNode("tree");
//创建一个新的节点
XmlNode newnode = document.CreateNode(XmlNodeType.Element, "newnode", "");
//移除node节点下的第一个子节点
node.RemoveChild(node.FirstChild);
//保存xml文档
document.Save(@"d:/tree.xml");
删除后的xml文档: