Asp.net与Xml概述

XML以其简单易用,易于扩充,跨平台等特性得到了非常广泛的应用,而.NET对XML的支持也非常完善。xml在.net中经常用到的主要有:Xml的读写,验证,转换,xml与ADO.NET,Xml与控件,Xml序列化,Xml与Web服务,xml与配置等。

1 .NET的XML API

.NET对XML API的支持主要在5个命名空间:

  System.XML 包含XML核心类

  System.XML.Schema 提供XSD的支持

  System.XML.Serilization 提供序列化反序列化的支持

  System.XML.XPath 提供XPath解释器支持

  System.XML.XSL 提供XSLT转换支持

2.XML读写操作

对于XML读写操作,任何语言都主要有2中形式,一种是流的形式,一种是加载DOM对象到内存。

.net支持流形式操作的主要类是:System.Xml.XmlReader和System.Xml.XmlWriter;DOM形式主要是通过XmlDocument的Load或LoadFrom方法在内存中生成一颗树。

3.XML验证

XML文档的验证主要有2中形式,DTD(Document Type DeFinition) 和 XSD(Xml Schema DeFinition),当前使用XSD为主流,因为XSD是Xml格式的。

使用XSD验证通常会用到XmlReader和XmlReaderSettings类,主要思路是:XmlReader读取需要验证的Xml,创建XMLReaderSettings类加载XSD文件,然后赋给XmlReader。

4.XSLT实现XML转换

XSLT可以实现将源XML文件转换成目标格式的XML或Html等格式。实现转换的.net代码非常简单:

如下:(xmlPath为源Xml文件路径,xslPath为Xsl文件路径), transform.Transform方法的最后一个参数为输出类型,可以是文件,流等。

public static void simpleXsltTransform(string xmlPath, string xslPath)
        {
            XPathDocument xpathDco = new XPathDocument(xmlPath);
            xslcompiledtransform transform = new xslcompiledtransform();
            transform.Load(xslPath);
            transform.Transform(xpathDco, null, HttpContext.Current.Response.Output);           
        }

5.XML和ADO.NET

ADO.NET的最重要的对象之一是Dataset,而.NET中,Dataset 和 XML之间可以相互转换。

ADO.NET的readxml() 和 WriteXml()方法分别可以载入和输出Xml,同样,Dataset还可以读写Schema.

6.XML串行化

.NET支持2中串行化,BinarySerilization 和 XmlSerilization,分别实现对象与流或Xml字符串之间的相互转换。System.Xml.Serilization命名空间提供支持串行化的类.

7.XML Web服务

Web服务是一些可以通过Http协议在任何客户机上实现调用的对象或方法,而其主要是通过XML来实现信息的传递。

8.XML 与配置文件

配置文件是.NET的一个重要部分。Web程序有web.config文件,非web程序有app.config文件,而.NET类库也分别提供了不同的API来支持,System.Configuration和System.Web.Configuration. 对应的最重要的管理类分别为ConfigurationManager和WebConfigurationManager.使用它们可以来读取,修改,创建新的配置节等。

 

转载于:https://www.cnblogs.com/JasonCrab/archive/2011/04/27/2030184.html

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念