.NET XML文件增删改查

时间:2024-03-24 11:33:44

查询

采用的是DataSet 的 ReadXML方法。

DataSet ds = new System.Data.DataSet();
ds.ReadXml("bdc.xml");

这就读出来了。

写入

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bdc.xml"); //加载文件

XmlNode root = xmlDoc.SelectSingleNode("source");//查找根节点

XmlElement bdc = xmlDoc.CreateElement("bdc");//创建一个节点

XmlElement EWM = xmlDoc.CreateElement("EWM");
EWM.InnerText = getTBValue(dt, "EWM").ToString();//设置文本节点
bdc.AppendChild(EWM);写入bdc节点

root.AppendChild(bdc);把bdc节点写入根节点

修改

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bdc.xml"); //加载文件
XmlNodeList nodeList = xmlDoc.SelectSingleNode("source").ChildNodes;//获取source的所有子节点

foreach (XmlNode xn in nodeList)//遍历所有子节点
{
  XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型

   XmlNodeList node = xe.GetElementsByTagName("BDCID");//获取所有元素名为BCDID的节点

  if (node[0].InnerText == “132456”)//节点的值==“132456”时
  {

    XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点

foreach (XmlNode xn1 in nls)//遍历
{
XmlElement xe2 = (XmlElement)xn1;//转换类型
if (xe2.Name == “name”)//如果找到name属性
{
xe2.InnerText = “上山打老虎”;//修改其值
break;//找到退出来就可以了
}
}

  }

}

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load("bdc.xml");
XmlNodeList xnl = xmlDoc.SelectSingleNode("bdc").ChildNodes;

for (int i = 0; i < xnl.Count; i++)
{
XmlElement xe = (XmlElement)xnl[i];//第i个bdc子节点
XmlNodeList node = xe.GetElementsByTagName("bdcid");
if (node.Count > 0)
{
//判断为用户选择的
if (node[0].InnerText == "45678")//条件匹配时 执行删除
{
string m = node[0].InnerText;
xmlDoc.SelectSingleNode("bdc").RemoveChild(node[0].ParentNode);//删除该bdc节点
break;
}
}
}
xmlDoc.Save("bdc.xml");