博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XML 基本语法
阅读量:6271 次
发布时间:2019-06-22

本文共 3055 字,大约阅读时间需要 10 分钟。

static void Main(string[] args)        {            //构造Xml的方法             XElement xlement = new XElement("Customer");            xlement.SetAttributeValue("id", "123");            XElement FirstName = new XElement("Firstname","Joe");            XElement SecondName = new XElement("SecondName", "Blogger");            SecondName.Add(new XComment("nice name"));            xlement.Add(FirstName);            xlement.Add(SecondName);            Console.WriteLine(xlement.ToString());            //与上面代码不一样 但是都是构造xml的代码            var d = new XElement("bench", new XElement("toolbox", new XElement("handtool", "hammer"), new XElement("handtool", "rasp")),                new XElement("toolbox", new XElement("handtool", "saw"), new XElement("powertool", "Nail gun")));            Console.WriteLine(d);            foreach (var item2 in d.Elements())            {                foreach (var item in item2.Elements())                {                    Console.WriteLine(item.Value+" ");                }            }            //上下两个编码方式不同 但是结果是一样 都是嵌套循环 上面为普通 ,下面为linq to xml            //把d.Elements()的值赋值到了x中 然后再使用f来查询 x找出Xlement中Name为handtool的 可以查找出3个            var fff = from x in d.Elements()                      from t in x.Elements()                      where t.Name == "handtool"                      select t.Value;            //递归 查d子节含有 handtool 不包含自己 要包含自己则使用 DescendantsAndSelf                var dff = d.Descendants("handtool");            foreach (var item in dff)            {                Console.WriteLine(item.ToString());            }            //d.DescendantNodes 与d.Descendants的区别 DescendantNodes查询出的是 子级显示一次 再子级显示一次 并且是无参方法           //eg.            var descendantNodes = d.DescendantNodes();            //显示出来就知道区别            foreach (var item in descendantNodes)            {                Console.WriteLine(item.ToString());            }            XElement settings = new XElement("settings", new XElement("timesout", new XElement("timesout2","d")));           // settings.Add(new XElement("timeout", new XElement("timesout2", "ff")));  1            //settings.SetElementValue("timesout", new XElement("timesout2", "ff"));    2            //1 2 含义相同            //settings.SetElementValue("time1sout", "60");            //精确查找 在xelment中赋值            settings.Descendants("timesout").Elements("timesout2").First().AddAfterSelf(new XElement("d","2"));            //把XElment timesout2删除            settings.Descendants("timesout").Elements("timesout2").Remove();            //把            settings.Descendants("timesout").Elements("d").First().ReplaceWith(new XElement("replace", "hehe"));            //var dffs2 = from fff1 in settings.Descendants("timesout").Elements()            //            where fff1.Name == "timesout2"            //            select fff1;            //foreach (var item in dffs2)            //{            //    item.AddAfterSelf("affter", "d3");            //}             Console.WriteLine(settings.ToString());            Console.ReadKey();

 

转载于:https://www.cnblogs.com/yangshasha/p/7807787.html

你可能感兴趣的文章
【ADO.NET】SqlBulkCopy批量添加DataTable
查看>>
SqlServer--bat批处理执行sql语句1-osql
查看>>
Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令
查看>>
laravel安装初体验
查看>>
用yum查询想安装的软件
查看>>
TIJ -- 吐司BlockingQueue
查看>>
数据库分页查询
查看>>
[编程] C语言枚举类型(Enum)
查看>>
[Javascript] Compose multiple functions for new behavior in JavaScript
查看>>
ASP.NET MVC性能优化(实际项目中)
查看>>
ES6里关于类的拓展(一)
查看>>
零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步
查看>>
Format Conditions按条件显示表格记录
查看>>
RichTextBox指定全部文字显示不同颜色及部分文字高亮颜色显示
查看>>
mysql优化----explain的列分析
查看>>
Python正则表达式
查看>>
Java中CAS详解
查看>>
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
命令行man的帮助手册
查看>>
Ubuntu 16.04下为Android编译OpenCV 3.2.0 Manager
查看>>