C#使用Linq To XML读取XML,Linq生成XML,Linq创建带属性或带节点XML

2021-05-05 18:33

阅读:557

标签:void   odi   ons   col   region   nts   foreach   生成xml   ati   

using System;
using System.Xml.Linq;

namespace Sample2
{
    class Program
    {
        static void Main(string[] args)
        {
            #region 写文件一(生成节点性质的)
            XDocument xdoc = new XDocument();
            XElement Persons = new XElement("Persons");
            XElement Peorson1 = new XElement("Person"); //增加一个Person节点
            Peorson1.Add(new XElement("Name", "Tom"));//在ptom下再增加子节点
            Peorson1.Add(new XElement("Age", "18"));
            Persons.Add(Peorson1);
            XElement Person2 = new XElement("Person");
            Person2.Add(new XElement("Name", "Jack"));
            Person2.Add(new XElement("Age", "20"));
            Persons.Add(Person2);

            xdoc.Add(Persons);//把根元素添加到文档中
            xdoc.Save("myXml1.xml");//保存

            Console.WriteLine("xml文件一生成成功!");
            Console.ReadLine();

            /* 生成myXml.xml内容如下  
             * 
                Tom
                    18
                  Jack
                    20
                  */
            #endregion

            #region 读XML 读取节点格式的值
            XDocument xd = XDocument.Load("myXml1.xml");
            foreach (XElement item in xd.Root.Descendants("Person"))//得到每一个Person节点,得到这个节点再取他的Name的这个节点的值
            {
                Console.WriteLine("姓名:{0} 年龄:{1}", item.Element("Name").Value, item.Element("Age").Value);//Person的节点的下得节点为Name的
            }
            Console.ReadLine();
            #endregion

            #region 写文件二(生成属性性质的)
            XDocument xdoc1 = new XDocument();
            XElement Pers = new XElement("Persons");
            XElement p1 = new XElement("Person");
            p1.Add(new XAttribute("Name", "tom"));//添加XAttribute就生成属性
            p1.Add(new XAttribute("Age", "18"));
            Pers.Add(p1);

            XElement p2 = new XElement("Person");
            p2.Add(new XAttribute("Name", "jack"));
            p2.Add(new XAttribute("Age", "20"));
            Pers.Add(p2);

            xdoc1.Add(Pers);//把根元素添加到文档中
            xdoc1.Save("myXml2.xml");//保存

            Console.WriteLine("xml文件二生成成功!");
            Console.ReadLine();

            /* 生成myXml.xml内容如下  
             * 
                */
            #endregion

            #region 读XML 读取属性格式的值
            XDocument xd1 = XDocument.Load("myXml2.xml");
            foreach (XElement item in xd1.Root.Descendants("Person"))//得到每一个Person节点,得到这个节点再取他的Name的这个节点的值
            {
                Console.WriteLine("姓名:{0} 年龄:{1}", item.Attribute("Name").Value, item.Attribute("Age").Value);//Person的节点的下得节点为Name的
            }
            Console.ReadLine();
            #endregion
        }
    }
}

技术分享

C#使用Linq To XML读取XML,Linq生成XML,Linq创建带属性或带节点XML

标签:void   odi   ons   col   region   nts   foreach   生成xml   ati   

原文地址:http://www.cnblogs.com/smartsmile/p/7676709.html


评论


亲,登录后才可以留言!