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.Serilization 提供序列化反序列化的支持
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