Howard Gu

"你真的认为写软件的人会故意去弄个很烂的用户界面?"

导航

XML学习笔记(二) --- 自定义读取、验证

读取DOM(Document Object Model)节点
XmlNodeReader 是提供对 XmlNode 中的 XML 数据进行快速、非缓存和只进的访问的读取器。
因为也可使用 XmlDocument 中的任何 XmlNode 构造 XmlNodeReader,所以 XmlNodeReader 可提供只读取给定节点的子树的读取器。Just Get What you are interest in是XmlNodeReader的特点之一。
参考示例代码
http://chs.gotdotnet.com/QuickStart/howto/default.aspx?url=/quickstart/howto/doc/XML/XmlNodeReader.aspx

创建Custom Reader Object
XML是许多种描述分层(hierarchical)信息的方式之一。因为使用XmlReader处理分层信息十分方便,我们也可使使用XmlReader访问除Xml之外的分层信息。例如,通过XSLT,XmlReader可以办部分文件系统转换成HTML;也可以读取comma-separated value(CSV)文件。
Custom Reader能够在现有的Reader上添加一些功能。比如说,Element的属性(attribute)处理相对较慢,在Reader里自动将Attribute转换成Element(子Element)将是非常有用的。
代码见:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcustomizedxmlreadercreation.asp

XML模式验证(Schemas Validation)
.Net框架支持3种Schemas标准:
DTD(为了向下兼容性) DTD是第一个提出的W3C Schema技术,因为它仅仅支持有限的数据类型,目前已经是一种过时的技术。
XML Data Reduced(XDR) 微软提供的一种基于XML的过渡性Schema技术
XML Schema Definition(XSD) 目前的W3C标准,基于XML

XmlReader的实现方式之一,XmlValidatingReader类,提供对Xml验证的支持。ValidationType属性来设定使用上面的哪种标准验证,必须在调用Read方法前设定该属性。
如何实例化XmlValidatingReader:

XmlTextReader xtr = new XmlTextReader(@"c:\books.xml");
XmlValidatingReader xvr 
= new XmlValidatingReader(xtr);

posted on 2004-07-21 16:55  Howard  阅读(860)  评论(0)    收藏  举报