加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

System.Xml 命名空间

发布时间:2020-12-15 22:47:55 所属栏目:百科 来源:网络整理
导读:System.Xml 命名空间 XML 已经成为一种流行的数据格式,其原因很多,对于大多数人来说,这是一种很方便表示数据的格式,文件有可读性。程序员的处理文件既有非结构化的,即不遵循一种模式,或者是结构化的,即数据符合 XSD 架构定义的约定;还希望方便地用 X

System.Xml 命名空间

XML 已经成为一种流行的数据格式,其原因很多,对于大多数人来说,这是一种很方便表示数据的格式,文件有可读性。程序员的处理文件既有非结构化的,即不遵循一种模式,或者是结构化的,即数据符合 XSD 架构定义的约定;还希望方便地用 XPath 查询数据,即,为了处理一种新的数据格式而编写自定义的解析程序,很少需要,文件可以在不同的 XML 格式之间快速转换,用强大的 XSLT 语言转换数据。

System.Xml 命名空间处理 XML 文件的类所有的方法很多,有这里描述的,但不止这些,我们将学习的方法是处理 XML 文件时最常用的,W3C 推荐的 .NET 实现的XML 文档对象模型(Document Object Model,DOM),它通常用类 XmlDocument 表示。这节的第一个例子将读取下面的 XML 文件fruits.xml:

<fruits>

<apples>2</apples>

<oranges>3</oranges>

<bananas>1</bananas>

</fruits>

下面的代码加载 fruits.xml,绑定到标识符 fruitsDoc,然后,用一个循环显示数据:

open System.Xml

// create an xml dom object

let fruitsDoc =

let temp = new XmlDocument()

temp.Load("fruits.xml")

temp

// select a list of nodes from the xml dom

let fruits =fruitsDoc.SelectNodes("/fruits/*")

// print out the name and text from eachnode

for x in fruits do

printfn "%s = %s " x.Namex.InnerText

前面代码的运行结果如下:

apples = 2

oranges = 3

bananas = 1

下一个例子演示了如何构建 XML 文档,并写到磁盘。假设有一组数据,绑定到标识符 animals,准备把它写成 XML 文件 animals.xml。先创建一个新的 XmlDocument 对象,然后构建文档,调用 XmlDocument 实例成员 CreateElement 方法创建根结点,用 AppendChild 方法追加文档对象。通过枚举 animals 列表,构建文档的其余部分,创建并追加结点。

open System.Xml

// create an xml dom object

let fruitsDoc =

lettemp = new XmlDocument()

temp.Load("fruits.xml")

temp

// select a list of nodes from the xml dom

let fruits =fruitsDoc.SelectNodes("/fruits/*")

// print out the name and text from eachnode

for x in fruits do

printfn"%s = %s " x.Name x.InnerText

运行代码,创建了 animals.xml 文件,其内容如下:

<animals>

<ants>6</ants>

<spiders>8</spiders>

<cats>4</cats>

</animals>

System.Xml 命名空间很大,有许多操作 XML 数据的类,表 9-1 是其中最有用的部分。

表 9-1 System.XML 命名空间中有用的类

描述

System.Xml.XmlDocument

W3C的XML DOM的Microsoft .NET实现。

System.Xml.XmlNode

这个类不能直接创建,但经常使用,它是XmlDocument的SelectSingle结点方法的结果。

System.Xml.XmlNodeList

这个类是结点的集合,是XmlDocument的SelectNode方法的结果。

System.Xml.XmlTextReader

它提供了向前、只读XML文档。虽然使用不如XmlDocument类那样方便,但不要求把整个文档加载到内存;当处理大文档时,使用这个类通常比XmlDocument有更好的性能。

System.Xml.XmlTextWriter

它提供了向前、写XML文档。如果XML文档必须从头开始,这通常是最容易的方法。

System.Xml.Schema

.XmlSchema

它提供了加载XML架构到内存的方法,然后,用户能够用它来验证XML文档。

System.Xml.Serialization

.XmlSerializer

实现在.NET对象与XML之间序列化。然而,它只能序列化公开字段,而BinarySerializer还可以用于框架中的其他地方。

System.Xml.XPath

.XPathDocument

处理XPath表达式最有效的方法。注意,这个类仅是XML文档的包装,必须使用XPathExpression和XPathNavigator才能工作。

System.Xml.XPath

.XPathExpression

表示用于XPathDocument 的 XPath表达式,它可以被编译,重复使用时更有效。

System.Xml.XPath

.XPathNavigator

按照XPathDocument执行 XPathExpression以后,这个类能够浏览结果;它的优势在于一次只抽取一个结点到内存,因此,在内存使用上更有效。

System.Xml.Xsl.XslTransform

使用XSLT样式表转换XML。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读