.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. 公网IP映射修改后,原先的图片访问却不行了

    描述:www与img在一个公网的nginx下时,www访问img没问题   ip:*.*.*.26 www与jimg同样还在同一组nginx,改另一个公网IP映射进来的时候,却访问不了  ip:*.* ...

  2. Android Studio项目结构

    我们创建了一个Android Project,打开就如下图所示:  我们选择Project视图,就会有以下的项目文档结构:  上面笔者标注的数字是接下来要讲解的内容. 我们先来看1: 我们创建Appl ...

  3. 斯坦福第十四课:降维(Dimensionality Reduction)

    14.1  动机一:数据压缩 14.2  动机二:数据可视化 14.3  主成分分析问题 14.4  主成分分析算法 14.5  选择主成分的数量 14.6  重建的压缩表示 14.7  主成分分析法 ...

  4. 自然数的K次幂的数列求和

        ------------------------------------------------------------------------------- 转载请注明出处 博客园 刺猬的温 ...

  5. hdu 5098 双队列拓扑排序

    http://acm.hdu.edu.cn/showproblem.php?pid=5098 软件在安装之后需要重启才能发挥作用,现在给你一堆软件(有的需要重启有的不需要)以及安装这个软件之前需要哪些 ...

  6. Android 5.x特性概览二

    上文 ,对Android 5.X特性,主要是Material Design的特性进行了介绍,这篇文章我们来使用Material Design主题. Material Design 现在有三种默认的主题 ...

  7. Linux 下zip包的压缩与解压

    linux zip 命令详解 功能说明:压缩文件. 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串& ...

  8. Mathematica修改默认字体

    1. 打开Option Inspector 2. 第一个下拉框选择Global Preference, 搜索stylehints 3. 修改字体为想要换的字体FamilyName, 比如换成苹果黑体 ...

  9. 使用Nito.AsyncEx实现异步锁

    Lock是常用的同步锁,但是我们无法在Lock的内部实现异步调用,比如我们无法使用await. 以下面的代码为例,当你在lock内部使用await时,VS会报错提醒. 最简单的解决办法就是使用第三方的 ...

  10. atitit.解决net.sf.json.JSONException There is a cycle in the hierarchy

    atitit.解决net.sf.json.JSONException There is a cycle in the hierarchy 1. 环境:使用hibernate4跟个,,要不个哪的对象系列 ...