.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. Win7 远程 Ubuntu 桌面 mate desktop,并实现中文输入法

    一. 安装mate desktop: $sudo apt-add-repository ppa:ubuntu-mate-dev/ppa $sudo apt-add-repository ppa:ubu ...

  2. struts2--文件上传与下载

    1.文件上传: --表单准备: > 需把HTML表单的enctype属性设置为multipart/form-data; > 需把HTML表单的method属性设置为post: > 需 ...

  3. UILabel和UIButton

    一.UILabel 1.UILabel:标签,主要用来显示文字. 创建步骤: (1)开辟空间并初始化(如果本类有初始化方法,使用自己的,否则,使用负父类的).   UILabel *textLabel ...

  4. SQL Server 优化器特性导致的内存授予相关BUG

    我们有时会遇到一些坑,要不填平,要不绕过.这里为大家介绍一个相关SQL Server优化器方面的特性导致内存授予的相关BUG,及相关解决方式,也顺便回答下邹建同学的相关疑问. 问题描述 一个简单的查询 ...

  5. 在Linux Ubuntu上编译DNX

    DNX是.NET Execution Environment,前身是XRE,XRE的前身是KRuntime,项目网址:https://github.com/aspnet/DNX . 签出DNX的代码: ...

  6. [转]DOS特殊字符转义方法

    http://www.robvanderwoude.com/escapechars.php 期望得到的字符 转义后字符 说明 % %% May not always be required in do ...

  7. windows平台下redis安装及配置文件介绍

    1.redis介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...

  8. RabbitMQ(三) -- Publish/Subscribe

    RabbitMQ(三) -- Publish/Subscribe `rabbitmq`支持一对多的模式,一般称为发布/订阅.也就是说,生产者产生一条消息后,`rabbitmq`会把该消息分发给所有的消 ...

  9. [stm32] MPU6050 HMC5883 Kalman 融合算法移植

    一.卡尔曼滤波九轴融合算法stm32尝试 1.Kalman滤波文件[.h已经封装为结构体] /* Copyright (C) 2012 Kristian Lauszus, TKJ Electronic ...

  10. phoneGap2.9+eclipse开发环境和helloword案例

    不同机器安装和使用各不相同,这里也只是记录一下自己机器上面的使用过程. android安装环境前面的文章有些,这里不再说,直接上phoneGap的过程.因为phoneGap2.9.1需要安装nodej ...