Home  >  Article  >  Backend Development  >  Detailed introduction to the sample code for Linq to read XML

Detailed introduction to the sample code for Linq to read XML

黄舟
黄舟Original
2017-03-16 17:09:041321browse

Linq To XML's core class XElement, one XElement represents a node, new XElement("Order"), creates a named Order Label, call Add to add child nodes, which is also an XElement object!

The following are several common forms of LINQ operating XML.

///Write file (generate node properties)

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);

Final generation:

Tom
18


Jack
20


///Write file (generate attributesNature)

 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);

Final generation:

<span style="color: #0000ff;"><</span><span style="color: #800000;">Persons</span><span style="color: #0000ff;">></span><br><span style="color: #0000ff;"><</span><span style="color: #800000;">Person </span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="tom"</span><span style="color: #ff0000;"> Age</span><span style="color: #0000ff;">="18"</span><span style="color: #0000ff;">/></span><br><span style="color: #0000ff;"><</span><span style="color: #800000;">Person </span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="jack"</span><span style="color: #ff0000;"> Age</span><span style="color: #0000ff;">="20"</span><span style="color: #0000ff;">/></span><br><span style="color: #0000ff;"></</span><span style="color: #800000;">Persons</span><span style="color: #0000ff;">></span>

//Read XML and read the value of node format

 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”")子孙节点

//Read XML and read the value of attribute format

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

The above is the detailed content of Detailed introduction to the sample code for Linq to read XML. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn