C#中的Linq to Xml
2017-03-14 10:30
363 查看
1:生成XML
2:查询特定节点
3:删除节点、
4:修改节点
5:增加节点,这块还有些疑问,完全搞懂之后再更
public static void CreateElement(string XmlPath) { XDocument xdoc = new XDocument( new XDeclaration("1.0", "utf-8", ""), new XElement("SimulationSettings", new XElement("DevBunkerArr", new XElement("DevBunkerSettings", new XElement("ID", "B1000"), new XElement("Delivery", "10"), new XElement("Capacity", "5000") ), new XElement("DevBunkerSettings", new XElement("ID", "B1100"), new XElement("Delivery", "10"), new XElement("Capacity", "5000") ) ), new XElement("DevConveyArr", //皮带 new XElement("DevConveySettings", new XElement("ID", "C1000"), new XElement("Delivery", "35"), new XElement("RatedSpeed", "2.0"), new XElement("Length", "40"), new XElement("StartingTime", "10"), new XElement("StoppingTime", "2"), new XElement("SectionNum", "10") ), new XElement("DevConveySettings", new XElement("ID", "C1001"), new XElement("Delivery", "35"), new XElement("RatedSpeed", "2.0"), new XElement("Length", "60"), new XElement("StartingTime", "10"), new XElement("StoppingTime", "2"), new XElement("SectionNum", "10") ) ) ) ); xdoc.Save(XmlPath); }
2:查询特定节点
public static void QueryDevBunkerArr(string XmlPath, string ID) { //定义并从xml文件中加载节点(根节点) XElement rootNode = XElement.Load(XmlPath); //查询语句: 获取节点 IEnumerable<XElement> myTargetNodes = from myTarget in rootNode.Descendants("DevBunkerSettings") where myTarget.Element("ID").Value == ID select myTarget; foreach (XElement node in myTargetNodes) { Console.WriteLine("ID = {0}", node.Element("ID").Value); Console.WriteLine("Delivery = {0}", node.Element("Delivery").Value); Console.WriteLine("Capacity = {0}", node.Element("Capacity").Value); } }
3:删除节点、
public static void DeleteDevBunkerArr(string XmlPath, string ID) { //定义并从xml文件中加载节点(根节点) XElement rootNode = XElement.Load(XmlPath); //查询语句: 获取节点 IEnumerable<XElement> myTargetNodes = from myTarget in rootNode.Descendants("DevBunkerSettings") where myTarget.Element("ID").Value == ID select myTarget; myTargetNodes.Remove(); rootNode.Save(XmlPath); }
4:修改节点
public static void ModifyDevBunkerArr(string XmlPath, string ID) { //定义并从xml文件中加载节点(根节点) XElement rootNode = XElement.Load(XmlPath); //查询语句: 获取节点 IEnumerable<XElement> myTargetNodes = from myTarget in rootNode.Descendants("DevBunkerSettings") where myTarget.Element("ID").Value == ID select myTarget; //修改 "Capacity"节点 foreach (XElement node in myTargetNodes) { node.Element("Capacity").SetValue(1); } rootNode.Save(XmlPath); }
5:增加节点,这块还有些疑问,完全搞懂之后再更
相关文章推荐
- C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串的方法
- C# LINQ to XML
- C# 3.0 LINQ to XML
- [C#]Linq To Xml 实例操作- 转
- C#中的Linq to Xml详解
- C# 2008 学习笔记 - LINQ to XML
- C# ~ 从 XML 到 Linq 到 Linq to XML
- C#新手入门代码 LINQ TO XML xattribute的用法示例
- 参考文章-C# Linq To XML的学习(创建并编辑XML树)示例
- C# Linq to xml学习 用XElement类读写XML文档(用作配置文档)
- C# linq to xml
- C# 2008 学习笔记 - LINQ to XML
- C# 2008 学习笔记 - LINQ to XML
- C# LINQ to XML
- C# ~ 从 XML 到 Linq 到 Linq to XML
- C# 2008 学习笔记 - LINQ to XML
- C#使用linq to xml完成对XML文件的创建、增加、删除、修改、查询
- C#基础精华06(Linq To XML,读取xml文件,写入xml)
- xml to linq C#实例 类和xml文件互转换
- C#基础巩固(3)-Linq To XML 读取XML