本文向大家介绍LINQ To XML类,可能好多人还不了解LINQ To XML类,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
LINQ To XML类
下面重点学习三个类:XDocument,XElement,Xattribute
1.LINQ To XML类——XDocument类:表示一个 XML 文档。XDocument可以包含以下元素:
◆一个 XDeclaration 对象。XDeclaration 使您能够指定 XML 声明的相关部分: XML 版本、文档的编码,以及 XML 文档是否是独立的。
◆一个 XElement 对象。 这是 XML 文档的根节点。
◆任意数目的 XProcessingInstruction 对象。 处理指令将信息传递给处理 XML 的应用程序。
◆任意数目的 XComment 对象。 注释将与根元素同级。 XComment 对象不能是列表中的第一个参数,因为 XML 文档以注释开头无效。
◆一个用于 DTD 的 XDocumentType。
用XDocument创建XML文件
- XDocument d = new XDocument( new XDeclaration("1.0", "utf-8", "true"),
- new XComment("This is a comment."),
- new XProcessingInstruction("xml-stylesheet",
"href='mystyle.css' title='Compact' type='text/css'"),- new XElement("Pubs",
- new XElement("Book",
- new XElement("Title", "Artifacts of Roman Civilization"),
- new XElement("Author", "Moreno, Jordao")
- )
- )
- );
- Console.WriteLine(d.Declaration );
- Console.WriteLine(d);
- //XML文件
- <?xml version="1.0" encoding="utf-8" standalone="true"?>
- <!--This is a comment.-->
- <?xml-stylesheet href='mystyle.css' title='Compact' type='text/css'?>
- <Pubs>
- <Book>
- <Title>Artifacts of Roman Civilization</Title>
- <Author>Moreno, Jordao</Author>
- </Book>
- </Pubs>
2.LINQ To XML类——XElement类:表示一个 XML 元素。XDocument 可以包含以下元素:
◆Xelement
◆Xcomment
◆XprocessingInstruction
◆XText
用XElement创建XML文件
- XElement xml1 = new XElement("Root",
- new XElement("Node1", 1),
- new XElement("Node2", 2),
- new XElement("Node3", 3),
- new XElement("Node4", 4),
- new XElement("Node5", 5),
- new XElement("Node6", 6)
- );
- XElement xml2 = new XElement("Root",
- from el in xml1.Elements()
- where ((int)el >= 3 && (int)el <= 5)
- select el
- );
- Console.WriteLine(xml2);
- //XML文件
- <Root>
- <Node3>3</Node3>
- <Node4>4</Node4>
- <Node5>5</Node5>
- </Root>
3.LINQ To XML类——XAttribute类:属性是与元素关联的名称/值对。 XAttribute 类表示 XML 属性。
属性与元素之间有些区别。XAttribute 对象不是 XML 树中的节点。 它们是与 XML 元素关联的名称/值对。 与文档对象模型 (DOM) 相比,这更加贴切地反映了 XML 结构。 虽然 XAttribute 对象实际上不是 XML 树的节点,但使用 XAttribute 对象与使用 XElement 对象非常相似。
- XElement phone = new XElement("Phone",
- new XAttribute("Type", "Home"),
- "555-555-5555");
- Console.WriteLine(phone);
【编辑推荐】