源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C# 对XML基本操作代码总结

  • 时间:2022-04-25 13:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C# 对XML基本操作代码总结
具体如下: XML文件:文件在MyDocument文件夹下
[u]复制代码[/u] 代码如下:
<?xml version="1.0" encoding="utf-8"?> <PersonF xmlns="" Name="(test)work hard work smart!"> <person Name="Person1"> <ID>1</ID> <Name>XiaoA</Name> <Age>59</Age> </person> <person Name="Person2"> <ID>2</ID> <Name>XiaoB</Name> <Age>29</Age> </person> <person Name="Person3"> <ID>3</ID> <Name>XiaoC</Name> <Age>103</Age> </person> <person Name="Person4"> <ID>4</ID> <Name>XiaoD</Name> <Age>59</Age> </person> </PersonF>
Code:说明都在注释里。
[u]复制代码[/u] 代码如下:
void TestXML() { XmlDocument doc = new XmlDocument(); string path = "http://www.1sucai.cn/MyDocument/Person.xml"; try { doc.Load(path); //1、读取单个节点的数据 XmlNode node = doc.SelectSingleNode("PersonF"); //2、读取多个节点的数据 XmlNodeList nodeList1 = doc.SelectNodes("PersonF/person"); //3.1 读取具体节点的具体值 如:属性为Person2的第二个节点Name的InnerText XmlNodeList nodeList = doc.DocumentElement.GetElementsByTagName("person"); foreach (XmlNode node2 in nodeList1) //当然也能用nodeList的值 { if (node2.Attributes["Name"].InnerText == "Person2") { Console.WriteLine(node2.ChildNodes[1].InnerText); } } //3.2 读取ID为2所在的节点第二个子节点Name的InnerText XmlNode node3 = doc.SelectSingleNode("PersonF/person[ID=2]"); string strNode3 = node3.ChildNodes[1].InnerText; //3.3利用下面的方法可以找到ID为2的节点 XmlNodeList nodeList2 = doc.SelectNodes("//person//ID"); XmlNode node4 = null; foreach (XmlNode node5 in nodeList2) { if (node5.InnerText == "2") { node4 = node5; break; } } Console.WriteLine(node4.InnerText); //4、读取节点的属性 string Name = node.Attributes["Name"].InnerText; //5 修改节点的属性 node.Attributes["Name"].InnerText = "work hard work smart!"; doc.Save(path); //6 添加自定义的节点 XmlTextReader reader = new XmlTextReader(path); XmlElement root = doc.DocumentElement;//获取根节点 XmlElement tagOuter = doc.CreateElement("person"); XmlElement tagIN = doc.CreateElement("Name"); tagIN.InnerText = "work hard work smart!"; tagOuter.AppendChild(tagIN); root.AppendChild(tagOuter);//添加tagOuter到XML文件的最后 reader.Close(); doc.Save(path); } catch (System.Exception e) { throw new Exception(e.Message); } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部