• C#读写XML的两种一般方式


    针对XML文档的应用编程接口中,一般有两种模型:W3C制定的DOM(Document Object Method,文档对象模型)和流模型。

    流模型的两种变体:"推"模型(XML的简单API)和"拉"模型(.NET中的流模型)。

    XML的解析方法:

    “推”模型

    “拉”模型

    DOM

    “推”模型也就是常说的SAX,SAX是一种靠事件驱动的模型。它每发现一个节点就用“推”模型引发一个事件。

    .NET在中对XML解析是基于“拉”模型的实现方案。“拉”模型在遍历文档时会把感兴趣的部分从读取器中拉出来,不需要引发事件。在.NET中“拉”模型通过XML阅读器(XMLTextReader类)来实现

    .NET中使用XML DOM分析器(XMLDocument)实现DOM模型。

    缺点

    必须编写这些事件的处理程序,很麻烦且复杂。不能对文档进行随机访问和修改。

    XMLTextReader类是只读的,向前的,不能再文档中执行向后导航操作。

    需要一次性加载整个文档到内存中,对于大型文档会造成资源问题。

    优点

    不需要把XML文档完全加载到内存中,是一个分析大型XML文档的高效API。

    允许我们一编程的方式访问文档,大大提高了灵活性,可以选择性处理节点,内存中只保存当前节点。XMLTextReader类能检验文档是否格式良好,如果不是良好格式的XML该类在读取过程中会抛出XMLException异常。

    允许编辑和更新XML文档,可以随机访问文档中的数据,可以使用XPath查询。

     .NET Framework支持XML DOM分析器(XMLDocument类)和XML阅读器(XMLTextReader类),不支持SAX分析器。但可以通过XML阅读器很容易的实现SAX的所有功能及更有效的运用。

    在System.XML 名称空间中组织进了以下几个用于XML的类:

    1. XMLTextReader---提供以快速、单向、无缓冲的方式存取XML数据。(单向意味着你只能从  前往后读取XML文件,而不能逆向读取)
    2. XMLValidatingReader---与XMLTextReader类一起使用,提供验证DTD、XDR和XSD架构的能力。
    3. XMLDocument---遵循W3C文档对象模型规范的一级和二级标准,实现XML数据随机的、有缓存的存取。一级水平包含了DOM的最基本的部分,而二级水平增加多种改进,包括增加了对名称空间和级连状图表(CSS)的支持。
    4. XMLTextWriter---生成遵循 W3C XML 1.0 规范的XML文件。
  • 相关阅读:
    CDN缓存服务器现状,squid、nginx、trafficserver、ATS性能测试
    [钉钉通知系列]Jenkins发布后自动通知
    查税号,税号查询,纳税人识别号查询
    体验万象优图鉴黄服务
    红象云腾
    我眼中的领域驱动设计
    手工DIY:手机变身扫描仪_极客迷
    【CZURET-16】成者科技(CZUR)ET16智能扫描仪OCR文字识别书籍文档票据零边距高速A3A4高拍仪高清1600万像素【行情 报价 价格 评测】-京东
    技术漫谈 | 使用docker-compose进行python开发
    饿了么的 PWA 升级实践
  • 原文地址:https://www.cnblogs.com/netlzl/p/4328418.html
Copyright © 2020-2023  润新知