首页 > 代码库 > Linq to Xml
Linq to Xml
需要引用的命名空间: using System.Xml.Linq;
常用的类:XDocument、XElement、XAttribute
一、使用Linq to xml创建xml文档
XDocument xml = new XDocument( new XElement("configuration", new XElement("ImgButtonSettings", new XElement("button", new XElement("name", new XAttribute("id", "EFS"), "close"), new XElement("size-w",61), new XElement("size-h", new XAttribute("ff", 564), 56), new XElement("localtion-x",970), new XElement("localtion-y",3), new XElement("openurl",""), new XElement("visable",true) ), new XElement("button", new XElement("name", new XAttribute("id", "EFS"), "back"), new XElement("size-w", 61), new XElement("size-h", new XAttribute("ff", 564), 56), new XElement("localtion-x", 990), new XElement("localtion-y", 3), new XElement("openurl", ""), new XElement("visable", true) ) ) ) ); xml.Save(@"E:\123.xml");
二、使用Linq to xml 查询xml
注意子元素和子代(即后代)元素的区别,子元素就是儿子 ,子代元素就是所有后代
Element()和Elements()方法获取的都是子元素,非子元素的后代元素是获取不到的
Descendants()获取的是后代元素
XDocument对象的子元素有且只有一个就是xml的根节点
// 获取button节点下的所有localtion-x节点 var node = from x in xml.Descendants("button").Elements() where x.Name == "localtion-x" select x; foreach (var item in node) { Console.WriteLine(item.Name);//获取节点的名字 Console.WriteLine(item.Value);//获取节点的值 } //获取button下id属性为name的所有name节点 var node2 = from x in xml.Descendants("button").Elements("name") where x.Attribute("id").Value =http://www.mamicode.com/= "ABC" select x; foreach (var item in node2) { Console.WriteLine(item.Value); }
Linq to Xml
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。