.NET Framework 4.5

其他版本

.NET Framework 提供了一组全面而集成的类,可用来方便地生成可以识别 XML 的应用程序。 通过以下命名空间中的类,可以分析和编写 XML,编辑内存中的 XML 数据,进行数据验证以及 XSLT 转换。

有关完整列表,请参阅 System.Xml 命名空间网页。

这些命名空间中的类支持万维网联合会 (W3C) 建议。 例如:

.NET Framework 中的 XML 类具有以下优点:

  • 高效率。 通过 LINQ to XML,可更方便地用 XML 编程,并可得到与 SQL 类似的查询体验。

  • 可扩展性。 .NET Framework 中的 XML 类都可以通过使用抽象基类和虚拟方法进行扩展。 例如,您可以创建XmlUrlResolver 类的一个派生类,用以将缓存流存储到本地磁盘。

  • 可插入的体系结构。 .NET Framework 提供组件可以相互利用和数据可以在组件间流式传输的体系结构。 例如,可以使用 XslCompiledTransform 类来转换数据存储(例如,XPathDocumentXmlDocument 对象),然后可将输出传送到另一个存储或作为 Web 服务的流返回。

  • 性能。 为了获得更好的应用性能,.NET Framework 中有些 XML 类支持具有以下特性的基于流式传输的模型:

    • 只进、拉出模型分析使用最小缓存 (XmlReader)。

    • 只进验证 (XmlReader)。

    • 游标式导航,可使创建的节点减少到单个虚拟节点,同时提供对文档的随机访问 (XPathNavigator)。

    为了在需要进行 XSLT 处理时都获得更佳性能,您可以使用 XPathDocument 类,这是一个用于 XPath 查询的经过优化的只读存储,旨在高效地与 XslCompiledTransform 类结合使用。

  • 与 ADO.NET 集成。 XML 类和 ADO.NET 紧密集成,以将关系数据和 XML 组合在一起。 DataSet 类是从数据库中检索到的数据在内存中的缓存。 DataSet 类能够使用 XmlReaderXmlWriter 类读取和写入 XML,以 XML 架构 (XSD) 形式保持其内部关系架构结构,并可以推断 XML 文档的架构结构。

本节内容

XML 处理选项

讨论用于处理 XML 数据的选项。

内存中 XML 数据处理

讨论用于处理内存中 XML 数据的三种模型。 LINQ to XMLXmlDocument 类(基于 W3C 文档对象模型)和 XPathDocument 类(基于 XPath 数据模型)。

XSLT 转换

描述如何使用 XSLT 处理器。

XML 架构对象模型 (SOM)

描述用于通过提供 XmlSchema 类加载和编辑架构来生成和处理 XML 架构 (XSD) 的类。

关系数据和 ADO.NET 的 XML 集成

描述 .NET Framework 如何通过 DataSet 对象和 XmlDataDocument 对象启用对数据的关系和分层表示形式的实时同步访问。

管理 XML 文档中的命名空间

描述 XmlNamespaceManager 类如何用于存储和维护命名空间信息。

System.Xml 类中的类型支持

描述如何将 XML 数据类型映射到 CLR 类型,如何转换 XML 类型,并描述 System.Xml 类中的其它类型支持功能。

相关章节

ADO.NET

提供如何使用 ADO.NET 访问数据的信息。

.NET Framework 中的安全性

提供对 .NET Framework 安全系统的概述。

XML 入门开发人员中心

为 XML 开发人员提供其他技术信息、下载、新闻组和其他资源。

XML 文档和数据的更多相关文章

  1. dom4j解析xml文档&保存数据的乱码问题

    package itcast.dom4j; import java.io.File; import java.io.FileOutputStream; import java.io.FileWrite ...

  2. java中用jdom创建xml文档/将数据写入XML中

    import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; i ...

  3. C# 创建XML文档

    有些时候我们需要生成一个xml文档作为数据交换的容器.当然我们用拼接字符串的方法来进行构建xml,但是这种方法虽然简单有效,但是如果xml文档结构过于复杂,拼接字符串会让人眼花缭乱.这时候就需要C#给 ...

  4. XPath操作XML文档

    NET框架下的Sytem.Xml.XPath命名空间提供了一系列的类,允许应用XPath数据模式查询和展示XML文档数据. 3.1XPath介绍 主要的目的是在xml1.0和1.1文档节点树种定位节点 ...

  5. 在Sql Server 2005中将主子表关系的XML文档转换成主子表“Join”形式的表

    本文转载:http://www.cnblogs.com/Ricky81317/archive/2010/01/06/1640434.html 最近这段时间在Sql Server 2005下做了很多根据 ...

  6. XML案例(使用DOM4J解析XML文档)

    1.Demo1.java package cn.itcast.dom4j; import java.io.File;import java.io.FileOutputStream;import jav ...

  7. 从多个XML文档中读取数据用于显示webapi帮助文档

    前言: 你先得知道HelpPageConfig文件,不知道说明你现在不需要这个,所以下文就不用看了,等知道了再看也不急.当然如果你很知道这个,下文也不用看了,因为你会了. 方法一: new XmlDo ...

  8. java将XML文档转换成json格式数据

    功能 将xml文档转换成json格式数据 说明 依赖包:1. jdom-2.0.2.jar : xml解析工具包;2. fastjson-1.1.36.jar : 阿里巴巴研发的高性能json工具包 ...

  9. [Swift通天遁地]七、数据与安全-(1)XML文档的创建和解析

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

随机推荐

  1. MySQL主从复制、半同步复制和主主复制

    同步,异步,半同步复制的比较: 同步复制:Master提交事务,直到事务在所有的Slave都已提交,此时才会返回客户端,事务执行完毕.缺点:完成一个事务可能会有很大的延迟. 异步复制:当Slave准备 ...

  2. python import 模块异常问题

    新项目开始了,(tornado,python) 结果出现了一个比较诡异的问题. import 自己的在conf文件夹下配置文件settings的时候, from conf.settings impor ...

  3. QT--以共享的方式发布应用,QT依赖库

    Building Qt as a Shared Library 因为:QT基本上都是采用动态编译的(被安装的OS中的),(如安装包往往都是默认动态编译处理好的动态库),所以我们采用动态连接的方式进行发 ...

  4. 如何防止鼠标移出移入子元素触发mouseout和mouseover事件

    js代码: function isMouseLeaveOrEnter(e, handler) { var reltg=e.relatedTarget?e.relatedTarget:e.type==' ...

  5. css 中字体大小

    css属性font-size可以用来设置字体的大小, 可是有时候看到大小的设置是font:bold 20px/24px Verdana, Geneva, sans-serif; 这里的20px/24p ...

  6. JAVA的JNI调用

    由于JNI调用C和调用C++差不多,而且C++中可以混合写C代码,所以这里主要是写关于JNI调用C++的部分. 一般步骤: 先是写普通的Java类,其中包括本地方法调用.  然后编译这个Java类,调 ...

  7. 在myeclipse文件中如何创建properties类型的文件,从而连接数据库

     File->New->File->点击->在编辑处出输入:文件名.properties  文件的主要功能连接数据库,例如: driver=oracle.jdbc.Oracle ...

  8. Deis logo 开源PaaS系统 Deis

    Deis 是一个 Django/Celery API 服务器.Python CLI 和一组 Chef cookbooks 合并起来提供一个类似 Heroku 的应用平台,用于公有云和私有云.Deis ...

  9. Dynamic CRM 2013学习笔记(十二)实现子表合计(汇总,求和)功能的通用插件

    上一篇 Dynamic CRM 2013学习笔记(十一)利用Javascript实现子表合计(汇总,求和)功能 , 介绍了如何用js来实现子表合计功能,这种方法要求在各个表单上添加js方法,如果有很多 ...

  10. Java中利用MessageFormat对象实现类似C# string.Format方法格式化

    我们在写C#代码的时候常常会使用到string.Format("待格式化字符串{0},{1},....",参数1,参数2,...),来格式化字符串,特别是拼接字符的时候,这种方式使 ...