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树,

原文地址:https://www.cnblogs.com/wangcongsuibi/p/8890786.html

时间: 2024-08-03 11:58:08

Linq to XML的基本操作的相关文章

LINQ to XML基本操作

Linq to XML同样是对原C#访问XML文件的方法的封装,简化了用xpath进行xml的查询以及增加,修改,删除xml元素的操作. LINQ to XML 三个最重要类:XElement.XAttribute 和 XDocument. 首先我们先介绍这三个类的基本属性和方法,然后再实现Linq to XML的 增删改查. 1.XDocument 构造函数 名称 说明 XElement(XElement) 从其他 XElement 对象初始化 XElement 类的新实例. XElement

LINQ for XML简单示例

LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许开发人员以与查询数据库相同的方式操作内存数据.从技术角度而言,LINQ定义了大约40个查询操作符,如select.from.in.where以及order by(C#中).使用这些操作符可以编写查询语句.不过,这些查询还可以基于很多类型的数据,每个数据类型都需要一个单独的LINQ类型. 本文简单介绍使用LINQ技术来实现XML的基本操作,该实例包含两个类:XmlE

Linq学习笔记---Linq to Xml操作

LINQ to XML的成员, 属性列表: 属性 说明 Document 获取此 XObject 的 XDocument  EmptySequence  获取空的元素集合  FirstAttribute  获取此元素的第一个属性  FirstNode  获取此节点的第一个子节点  HasAttributes  获取一个值,该值指示此元素是否至少具有一个属性  HasElements  获取一个值,该值指示此元素是否至少具有一个子元素  IsEmpty  获取一个值,该值指示此元素是否不包含内容

24.C#LINQ TO XML(十二章12.3)

自己也写了那么多,但还有很多不懂,有点浮躁吧,但饭还是要吃啊,说说LINQ TO XML吧. LINQ TO XML位于System.Xml.Linq程序集,并且大多数类型位于System.Xml.Linq命名空间.该命名空间下几乎所有类型都以X为前缀;普通DOM API中的Element对应LINQ TO XML中的XElement.列举下都有哪些类型. XName:表示元素和特性的名称 XNamespace:表示XML的命名空间,通常是一个URL XObject:是XNode和XAttrib

LINQ to XML 编程基础

1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快速创建一个xml: 隐藏行号 复制代码 ?创建 XML public static void CreateDocument() { string path = @"d:\website"; XDocument xdoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"), new XEle

XML读写利器XElement(Linq to xml)

年初公司绩效改革,在等最后通知,不知我有没理解错,感觉新版绩效最高会比原先最高拿到的奖金整整少一半... 还好同时也有调工资,加了一点.去年好像是年中整体调过一次,不知公司是一年调两次还是从今年开始改成年初调. 晚上去加班,处理一个数据交换,本想XML和实体直接互相转换,但XML结构太复杂,自动转换不理想,改用手工处理. 原先其它项目是用原始的XmlDocument,感觉不好用,写法也很不美观 网上说还有种XMLTextReader,像DataReader一样,向前只读的,从来没用过 以前有用过

Linq之Linq to XML

目录 写在前面 系列文章 linq to xml 总结 写在前面 在很多情况下,都可以见到使用xml的影子.例如,在 Web 上,在配置文件.Microsoft Office Word 文件(将word文档另存为xml文件,这也提供了一种通过操作xml,操作word的一种方式)以及数据库中,都可以看到 XML.而linq to xml提供了一种操作xml更便捷的方式. 系列文章 Linq之Lambda表达式初步认识 Linq之Lambda进阶 Linq之隐式类型.自动属性.初始化器.匿名类 Li

LINQ to XML(1)

LINQ to XML可以两种方式和XML配合使用.第一种方式是作为简化的XML操作API,第二种方式是使用LINQ查询工具.下面我使用的是第二种方式. 主要内容:用LINQ查询语句对XML文件里的数据进行筛选. 此方法优点: 1.我们可以使用单一语句自顶向下创建XML树. 2.我们可以使用包含树的XML文档在内存中创建并操作XML. 3.我们可以不适用Text子节点来创建和操作字符串节点. 4.一个最大的不同(改进)是,在搜索一个XML树时,不需要遍历它.相反只需要查询树并让它返回想要的结果.

LINQ to XML 实战

LINQ to XML 轴定义:创建XML树或将XML文档加载到XML树之后,可以进行查询,从而查找元素并检索它们的值. 两类轴方法:-一些轴就是XELement和XDocument类中返回IEnumerable(T)集合的方法.-另一些轴方法是Extensions类中的扩展方法.实现为扩展方法的轴对集合进行操作,然后返回集合.XContainer是XElement的基类! -常见的轴方法:-XContainer.Elements()返回集合 -XContainer.Descendants()返