• XML操作之Linq to Xml


    需要引用的命名空间:   using System.Xml.Linq;

    常用的类:XDocument、XElement、XAttribute

    创建 XDocument对象。

    • XDocument.Load():从文件、URI 或流中读取 XML 文档
    • XDocument.Parse():从一个字符串加载 XML 文档

    一、使用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 == "ABC"
                           select x;
                foreach (var item in node2)
                {
                    Console.WriteLine(item.Value);
                }
                

     传统的XML读取方式:http://www.cnblogs.com/lxf1117/p/4178678.html

    .Net处理Xml相关随笔

  • 相关阅读:
    [VBA]根据身份证号码计算年龄的Excel函数
    [VBA]发布一个计算桩号之差的Excel自定义函数(VBA)
    [VBA]用一个简单例子说明如何在Excel中自定义函数
    元素定位工具:Chrome浏览器ChroPath插件
    68 个 Python 内置函数
    Python错误重试
    jenkins 中展示漂亮的 HTML 测试报告
    python解决接口数据使用了RSA加密和签名
    Python装饰器用法
    Pycharm中文版教程
  • 原文地址:https://www.cnblogs.com/lxf1117/p/4178510.html
Copyright © 2020-2023  润新知