XML Documents and Data阅读笔记。

XML Documents and Data

相应的命名空间

使用.net的XML料库的一些好处:

  • 产出性(productivity)
  • 可扩展
    • 比如可以从XmlUrlResolver派生出新类标,增加缓存Url到硬盘的能力
  • 可加插件的架构
    • 一个数据存储,比如XPathDocument或XmlDocument,可以转化为XslCompiledTransform,其输出可以用在多重场景下
  • 性能
    • 一些XML卡类支持流式数据处理
      • XmlReader,前向处理的话最低限度缓存,解析采用拉取模型
      • XmlReader,单前向验证
      • XPathNavigator,支持游标方式的导览
      • XPathDocument ,更高效处理XSLT
  • 与ADO.NET紧密结合
    • DataSet 是从一个内存中的缓存,可以用来缓存从数据库获取的数据

XML Processing Options

.NET Framework Options

  • LINQ to XML (C#),in-memeory(入内存),
    • 类似于SQL,直观的文档创建和转化
    • 新代码推荐方式
  • System.Xml.XmlReader,stream-based(基于数据流)
    • 快速,无缓存,单向
    • XmlReader.Create创建对象
    • XmlReaderSettings修改设置
  • System.Xml.XmlWriter,stream-based
    • 快速,无缓存,单向
    • 类似的,有XmlWriter.Create和XmlWriterSettings
  • System.Xml.XmlDocument,in-memeory,
    • 支持DOM L1和L2
    • 操作比较自由
  • System.Xml.XPath.XPathNavigator,In-memory
    • 基于游标模型,提供多种编辑选项和导览能力
    • XML文档可以被包含再XPathDocument和XmlDocument标的中
    • 制度情况下提供绝佳性能
    • 适合于XPath或XSLT处理
  • XslCompiledTransform,In-memory
    • 用于转化XML数据(基于XSL转化)

Win32 and COM-based Options

  • XmlLite
    • 快速,安全,不做缓存,单进XML解析器
    • 基于动态链接库,推荐使用C++
  • MSXML
    • 基于COM,内置于Windows
    • 实现朴素,支持XPath和XSLT
    • 支持SAX2事件驱动解析器

其他

(完结)