zoukankan      html  css  js  c++  java
  • 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);

    最终生成:

    <?xml version="1.0" encoding="utf-8" ?>
    <Persons>
    <Person>
    <Name>Tom</Name>
    <Age>18</Age>
    </Person>
    <Person>
    <Name>Jack</Name>
    <Age>20</Age>
    </Person>
    </Persons>


    ///写文件(生成属性性质的)

     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的
               }
    

      



  • 相关阅读:
    既可以支持整数四则运算,也可以支持分数四则运算,可定制出题数量的c语言程序
    NABCD需求分析
    求一维循环数组的最大子数组和(二人结对编程)
    返回一个二维整数数组中最大子数组的和(二人结对)
    返回一个整数数组中最大子数组的和。(二人结对编程)
    二柱子2.0编程总结
    随机生成30道小学二年级四则远算题目2.0
    随机生成30道小学二年级四则远算题目
    搜狗输入法的使用感受与评价
    第一次站立会议
  • 原文地址:https://www.cnblogs.com/monian/p/2252820.html
Copyright © 2011-2022 走看看