zoukankan      html  css  js  c++  java
  • XmlDocument类的WriteContentTo和WriteTo方法

      今天在看《C#高级编程(第四版)》第21章 处理XML 之 使用XmlDocument对象

      书中有段原文,引起了我的注意: “在这个示例中,创建一个新XmlTextWriter,把它传送给WriteContentTo方法。WriteContentTo和WriteTo方法都带一个XmlTextWriter参数。WriteContentTo把当前节点 及其所有的子节点都保存到XmlTextWriter,而WriteTo只保存当前节点。”

      我很遗憾,我还是没搞懂两个方法之间到底有什么区别,于是决定写一个例子来帮助我理解:

    将XmlDocument对象生成Xml文件

      运行成功,生成的Xml文件内容如下:

    book.xml

      当我将代码中的doc.WriteContentTo(writer)换成doc.WriteTo(writer),F5运行生成的book.xml文件内容仍然一模一样,我还是没搞明白两个方法之间到底有什么区别。接着我又开始使劲的折腾我的代码,得到的结果是WriteContentTo和WriteTo方法最终生成的Xml文件还是一样的。

      难道他们的功能是一样的,为什么要弄两个名称呢?

      没辙,突然想到用Reflector反编译看看吧:

    反编译后的WriteContentTo和WriteTo方法源码

      真相终于大白,XmlDocument类的WriteContentTo和WriteTo方法都是重载基类的(这点我一开始就知道),WriteTo方法直接调用WriteContentTo方法。它们的功能是一模一样的,那为什么不说明一下呢,唉...

      最后我们在VS里面F12追踪一下,看看他们的定义:

    WriteContentTo和WriteTo方法的定义描述

      你是不是也很迷糊啊?

  • 相关阅读:
    leetcode刷题四<寻找两个有序数组的中位数>
    leetcode刷题第三天<无重复字符的最长子串>
    leetcode刷题第二天<两数相加>
    leetcode刷题第一日<两数和问题>
    sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError)
    flask微电影系统开发中上下文处理器
    gdb解决字符串打印果断措施
    邻接表
    Jarvis OJ 一些简单的re刷题记录和脚本
    windows控件理论学习
  • 原文地址:https://www.cnblogs.com/BreezeWoo/p/WriteContentToAndWriteTo.html
Copyright © 2011-2022 走看看