小编给大家分享一下Linq如何读取XML,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Linq To XML的核心类XElement,一个XElement表示一个节点,new XElement("Order"),创建一个名字为Order的标签,调用Add增加子节点,也是XElement 对象!
下面是几种LINQ操作XML的常见形式。
///写文件(生成节点性质的)
XElement ePersons = new XElement("Persons");
XElement ptom = new XElement("Person"); //增加一个Person节点
ptom.Add(new XElement("Name", "Tom"));//在ptom下再增加子节点
ptom.Add(new XElement("Age", "18"));
ePersons.Add(ptom);
XElement pjack = new XElement("Person");
pjack.Add(new XElement("Name", "Jack"));
pjack.Add(new XElement("Age", "20"));
ePersons.Add(pjack);
最终生成:
Tom 18 Jack 20
///写文件(生成属性性质的)
XElement ptom = new XElement("Person");
ptom.Add(new XAttribute("Name", "tom"));//添加XAttribute就生成属性
ptom.Add(new XAttribute("Age", "18"));
ePersons.Add(ptom);
XElement pjack = new XElement("Person");
pjack.Add(new XAttribute("Name", "jack"));
pjack.Add(new XAttribute("Age", "20"));
ePersons.Add(pjack);
最终生成:
<Persons><Person Name="tom" Age="18"/><Person Name="jack" Age="20"/></Persons>
//读XML 读取节点格式的值
XDocument xd= XDocument.Load("XML文件地址");
foreach (XElement item in xd.Root.Descendants("Person"))//得到每一个Person节点,得到这个节点再取他的Name的这个节点的值
{
Console.WriteLine(item.Element("Age").Value);//Person的节点的下得节点为Name的
}
注释:doc.root(得到根节点的XElement对象).XElement(“tagname”)方法得到的就是节点下第一个名字为tagname的节点。
如果doc.root。XElements(复数形式)就是得到所有的子节点,Descendants("“tagname”")子孙节点
//读XML 读取属性格式的值
XDocument xd= XDocument.Load(@"D:\Program Files\Demo\Demo\ConsoleApplication2\XMLFile2.xml");
foreach (XElement item in xd.Root.Descendants("Person"))//得到每一个Person节点,得到这个节点再取他的Name的这个节点的值
{
Console.WriteLine(item.Attribute("Age").Value);//Person的节点的下得节点为Name的
}
以上是Linq如何读取XML的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。