ASP.NET XML高级编程(一、XML技术简介)
System.Xml:
。使用基于拉操作的流API或文档对象模型(DOM)创建和处理XML文档;
。查询XML文档(使用XPath);
。转换XML文档(使用XSLT);
。验证XML文档(使用DTD、XDR或XSD模式);
。使用DOM处理数据库中的关系数据或XML数据(XMLDataDocument类);
第一章
1.1XML语法
。5个特殊字符(<,>,&,’,”)à(<,>,&,',")
。除元素和属性外,XML文档还可以包含其他具有特殊意义的标识符。如:
注释<!-- -->,处理指令<?...?>,CDATA<![CDATA[…]]>
特殊属性:
xml:space:属性控制空白处理
xml:space=’preserve’表示保留空白。
xml:space=’default’使用默认的空白处理。
xml:lang:指定某个元素中包含的语言。
1.2处理XML
所有的创建、读取、分析和处理XML的工具都是建立在两个API的基础之上(文档对象模型DOM和Somple API for XML SAX)。
DOM:把整个文档加载到内存中,所以DOM分析器会在打开文档时检查文档的格式是否良好。
SAX:把XML文档作为逐个字符流来读取,不把文档高速缓存到内存中,所以不检查文档的格式是否良好。
SAX是DOM一个轻型代替品。
1.3验证XML
DTD:限制太多,不支持强数据类型、也不能扩展,只能根据元素的顺序和频率进行非常有限的验证。
XML Schema Definition(XSD):DTD的代替品,克服了DTD的缺点,还为定义XML的结构提供了一种非常灵活且可扩展的机制。
XML模式不仅仅用于验证XML文档,还可以用于数据库和对象技术,IDE的智能感知等。
1.3导航、转换和格式化XML
XPath:一个被广泛支持的技术用于搜索XML文档并检索特有的组件。
。XPath可以在XML文档中对元素或属性进行查询、定位和过滤。
。XPath的理念:所有的XML文档看作是一个有层次的树,XPath可以表示树中一个叶子(节点)到另一个叶子的路径,可以检索满足某些条件的所有元素和属性。
XSL Transformations,XSLT:一种声明性语言,用于把XML文档从一种格式转换为另一种格式。
。将一个XML文档转换为各种输出格式(HTML,XHTML,WML等)。
。减少服务器负载,在客户端对XML进行转换。
一个XSLT的例子:readerHTML.xsl
<xsl:stylesheet version="1.0" exclude-result-prefixs="xsl src"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:src="uuid:0699FA-C945">
<xsl:output method="html"/>
<xsl:template match="/">
<b>Webinars</b><br>
<xsl:for-each select="//src:Webinar">
<a href="{src:URL}"><xsl:value-of select="src:Title"/></a>
<br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
在XML文件中使用readHTML.xsl
<?xml-stylesheet type=”text/xsl” href=” readerHTML.xsl”?>
1.4XML中的其他标准
除了XPath和XSLT,别的一些标准:
XLink,Xpoint
XQuery:用于访问XML、关系数据库和其他的数据存储。
XHTML:用与XML一致的规则编写的HTML4.01
1.5XML消息传输
SOAP:提供一个简单的轻型的机制,在一个分散的、分布式的环境下提供对象的功能。
。SOAP成为XML web服务的一个里程碑。
。SOAP规范使用XML语法定义请求和相应消息的结构,称为信封。
WSDL:一种基于XML的格式,描述了Web服务提供的完整的一组接口。
。WSDL文档(.wsdl)用作客户机和服务器之间的一个合同。
UDDI:提供了三个主要的操作:发布、发现和绑定。