Linq to XML的基本操作

Posted wangcongsuibi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linq to XML的基本操作相关的知识,希望对你有一定的参考价值。

1.构造具有属性的XML元素

  在Linq to XMl中XAttribute类表示一个XML元素的属性。任何一个XML元素(XElement)都包含一个XAttribute列表,用来表示它所包含的所有属性。同一个XML元素所包含的属性名不能相同。

 XAttribute 包含以下几个重载版本

  1. public XAttribute(XName name, object value)  
  2. public XAttribute(XAttribute other) 
  3. public XAttribute(XName name,params object[] content)
static void CreateXMLAttributeEle() { 
        //创建类型为string的属性,演示XAttribute(XName,object)的使用
            XAttribute atr1 =new XAttribute("String","str");
            Console.WriteLine("atr1 is :" + atr1);
            XAttribute atr2 = new XAttribute(atr1);//XAttribute atr1
            Console.WriteLine("atr2 is :" + atr2);
            //演示XAttribute(Name,object)的使用
            XAttribute atr3 = new XAttribute("Integer", 10);
            Console.WriteLine("atr3 is :" + atr3);
            //创建类型为匿名类型的属性,演示XAttribute(Name,object)
            XAttribute atr4 = new XAttribute("Ano", new {x=1.2,y=3.3 });
            Console.WriteLine("atr4 is :" + atr4);
            //创建类型为Datatime的属性,演示XAttribute(Name,object)
            XAttribute atr5 = new XAttribute("Datatime", DateTime.Now);
            Console.WriteLine(atr5);
            //创建类型为自定义的UserClass类
            XAttribute atr6 = new XAttribute("zidingyi", new UserClass(21,"李星星"));
            Console.WriteLine(atr6);
        
        }

技术分享图片

 

2.构造具有子函数XML元素

通常一个XML元素可以包含一个或者多个子元素,可以通过XElement的可变参数版本构造函数,创建具有子元素的XML元素.

 static void CreateSubElement() {
            XElement Userlist1 = new XElement("UserList",

                new XElement("User", new XElement("Name", "张三"), new XElement("AGE", 20)), new XElement("User", new XElement("Name", "李四"), new XElement("Age", 35)));
           XElement user1 =new XElement("USer",new XElement("Name","王五"),new XElement("Age",30));
            XElement user2 =new XElement("USer2",new XElement("Name","王五2"),new XElement("Age",302));
           XElement Userlist2 =new XElement("UserList2",user1,user2);
           object[] eleAry = { user1, user2 };
           XElement Userlist3 = new XElement("UserList3", eleAry);
           Console.WriteLine(Userlist1);
           Console.WriteLine(Userlist2);
           Console.WriteLine(Userlist3);

        
        }

技术分享图片多种方法均可实现。

 

3.用XElement类构造函数

  在XMl元素中,通常同事包含子元素,属性,内容等多个特性。通过XElement类的可变参数的构造函数同事传入类型类XAttribute和XElement类型即可。在传入多个参数中,如果参数为XAttribute,改参数作为XML元素的属性,如果传入的是XElement改参数作为元素的内容。

static void CreateXMLTree() {
            XElement uer1 = new XElement("User", new XAttribute("Name", "张三"), new XElement("Age", 20));
            XElement uer2 = new XElement("User", new XAttribute("Name", "李思思"), new XElement("Age", 25));
            XElement userLst = new XElement("UserList", "string cont", uer1, uer2, new XAttribute("Count", 2), 10);
            Console.WriteLine(userLst);
        
        }

通过XElement类的可变参数的构造函数,创建XMl树,

技术分享图片

 

以上是关于Linq to XML的基本操作的主要内容,如果未能解决你的问题,请参考以下文章

Linq to XML 增删改查

Linq to XML的基本操作

linq to xml

C#中的Linq to Xml详解

C#操作xml文档增删改查(Linq to XML)

LINQ to XML 编程基础