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

      



  • 相关阅读:
    CCF201503-1 图像旋转(100分)
    CCF201509-1 数列分段(100分)
    CCF201509-1 数列分段(100分)
    JSP---使用checkbox实现多项删除
    JS---checkbox实现全选
    JSP---jsp页面获取物理路径
    JSP---根据值让某一Radio处于选中状态
    JSP---Myeclipse8.5使用Sql server数据库
    JSP---JSP学习笔记
    VS---解决VS2008专业版试用90天限制的方法
  • 原文地址:https://www.cnblogs.com/monian/p/2252820.html
Copyright © 2011-2022 走看看