学习笔记,如有错误请指正。?号处也请各位指点下,谢谢。
有一个XML,文件名为“UserInfo.xml”,操作如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <users> <user1 姓名="张三" 密码="123">我是张三</user1> <user2 姓名="李四" 密码="123">我是李四</user2> </users>
1插入一个节点,添加属性,保存(注意XML文件存放的路径)
XmlDocument xmlDoc = new XmlDocument();//声明xml文件 xml.Load("c:/UserInfo.xml"); //根据路径将XML读取出来 XmlNodeList childlist = xmlDoc.SelectSingleNode("users").ChildNodes; //查找—得到objects下的所有子节点 XmlNodeList nodelist = xmlDoc.CreateElement("user3"); //创建一个节点 xel.SetAttribute("姓名","王二");//设置该节点姓名属性 xel.SetAttribute("密码","123");//设置该节点密码属性 xel.InnerText="我是王二"; root.AppendChild(xel);//添加到节点中 xmlDoc.Save("c:/UserInfo.xml");
运行完成效果:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <users> <user1 姓名="张三" 密码="123">我是张三</user1> <user2 姓名="李四" 密码="123">我是李四</user2> <user3 姓名="王二" 密码="123">我是王二</user3> </users>
2修改节点
将user3密码修改为”1“,内容修改为”我是王小二“
XmlDocument xmlDoc = new XmlDocument();//声明xml文件 xml.Load("c:/UserInfo.xml"); //根据路径将XML读取出来 XmlNodeList root = xmlDoc.SelectSingleNode("users").ChildNodes; //查找—得到objects下的所有子节点 XmlElement user3 =(XmlElement)root.SelectSingleNode("user3"); //创建一个节点 user3.SetAttribute("密码","1");//设置该节点姓名属性 user3.InnerText="我是王小二"; xmlDoc.Save("c:/UserInfo.xml");
运行完成效果:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <users> <user1 姓名="张三" 密码="123">我是张三</user1> <user2 姓名="李四" 密码="123">我是李四</user2> <user3 姓名="王二" 密码="1">我是王小二</user3> </users>
3删除属性和节点
XmlDocument xmlDoc = new XmlDocument();//声明xml文件 xml.Load("c:/UserInfo.xml"); //根据路径将XML读取出来 XmlNodeList root = xmlDoc.SelectSingleNode("users").ChildNodes; //查找—得到objects下的所有子节点 XmlElement user3 =(XmlElement)root.SelectSingleNode("user3"); //获取同名同级节点集合 user3.RemoveAttribute("密码");//删除指定的属性 root.RemoveChild(root.SelectSingleNode("user2"));//RemoveChild可从子节点列表中删除某个节点 user3.InnerText="我是王小二"; xmlDoc.Save("c:/UserInfo.xml");
效果如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <users> <user1 姓名="张三" 密码="123">我是张三</user1> <user3 姓名="王二" 密码="1">我是王小二</user3> </users>
4遍历节点
XmlDocument xmlDoc = new XmlDocument();//声明xml文件 xml.Load("c:/UserInfo.xml"); //根据路径将XML读取出来 XmlNodeList root = xmlDoc.SelectSingleNode("users").ChildNodes; //查找—得到objects下的所有子节点 foreach(XmlNode xn in root.ChildNodes)//遍历节点 Debug.Log(xn.InnerText);
时间: 2024-10-08 08:53:38