博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对xml的操作使用的类XElement的使用
阅读量:6573 次
发布时间:2019-06-24

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

操作xml的类比较多,发现XElement类操作xml极其方便,下面列举一些操作方法

1、创建xml

XElement xml = new XElement("root",                 new XElement("Parent",                     new XElement("Me",                        new XElement("son"),                        new XElement("daughter")                )));

2、用Lambda表达式

List
list = new List
(){ "Parent","Me","son" }; XElement xml=new XElement("root", list.Select(x=>new XElement(x)) ); Console.WriteLine(xml);
Dictionary
dic = new Dictionary
(); dic.Add("Name", "zhangsan"); dic.Add("Sex", "男"); dic.Add("Age", "18"); XElement xml=new XElement("root", dic.Select(x=>new XElement(x.Key,x.Value)) ); Console.WriteLine(xml);

3、用字符串创建 ,这种我认为最为简单

string str = "
张三
"; XElement xml = XElement.Parse(str); Console.WriteLine(xml);

4、属性

XElement xml = new XElement("students",                 new XElement("student",                     new XAttribute("id", "1"),                     new XElement("name", "张三"),                     new XElement("age", 12)));
string str = "
张三
12
"; XElement xml = XElement.Parse(str); Console.WriteLine(xml);

5、保存 xml

 

string str = "
张三
12
"; XElement xml = XElement.Parse(str); xml.Save("test.xml");

6、加载

XElement xml = XElement.Load("test.xml");            Console.WriteLine(xml);

7、读取 xml

。。。。。{ XElement xml = XElement.Load("test.xml");                       ForXml(xml);        }        public static void ForXml(XElement x)        {            printXml(x);            foreach (var item in x.Elements())            {                ForXml(item);            }        }        public static void printXml(XElement x)        {            if (x == null)                return;            if (x.HasElements)            {                Console.WriteLine(x.Name);            }            else            {                Console.WriteLine(x.Name+":"+x.Value);            }            foreach (XAttribute attr in x.Attributes())            {                Console.WriteLine("\t"+attr.Name+":"+attr.Value);            }        }

8、查找某一值

XElement xml = XElement.Load("test.xml");            var item = xml.Descendants().Where(x =>              {                  var attr = (int?)x.Attribute("id");                  if (attr != null)                  {                      if (attr.Value == 1)                          return true;                  }                  return false;                  //if (x.Value == "张三")                  //{                  //    return true;                  //}                  //else                  //{                  //    return false;                  //}              });            foreach (XElement x in item)            {                ForXml(x);            }

 

转载于:https://www.cnblogs.com/lunawzh/p/6669753.html

你可能感兴趣的文章
增加临时表空间组Oracle11g单实例
查看>>
Diff Two Arrays
查看>>
stark组件(1):动态生成URL
查看>>
169. Majority Element
查看>>
大整数加法
查看>>
下拉菜单
查看>>
[清华集训2014]玛里苟斯
查看>>
Doctype作用?严格模式与混杂模式如何区分?它们有何意义
查看>>
0029-求最小的数
查看>>
【MVC+EasyUI实例】对数据网格的增删改查(上)
查看>>
第三章:如何建模服务
查看>>
EF CodeFirst下数据库更新
查看>>
Project Euler 345: Matrix Sum
查看>>
mysql允许远程登录
查看>>
你可能不知道的技术细节:存储过程参数传递的影响
查看>>
POJ1703 Find them, Catch them
查看>>
自适应备忘录 demo
查看>>
HTML转义字符大全(转)
查看>>
[摘录]调动员工积极性的七个关键
查看>>
Linux getcwd()的实现【转】
查看>>