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方法的定义描述

      你是不是也很迷糊啊?

  • 相关阅读:
    Java对象的生命周期与作用域的讨论(转)
    [置顶] Oracle学习路线与方法
    Java实现 蓝桥杯 算法训练 未名湖边的烦恼
    Java实现 蓝桥杯 算法训练 未名湖边的烦恼
    Java实现 蓝桥杯 算法训练 未名湖边的烦恼
    Java实现 蓝桥杯 算法训练 最大的算式
    Java实现 蓝桥杯 算法训练 最大的算式
    Java实现 蓝桥杯 算法训练 最大的算式
    Java实现 蓝桥杯 算法训练 最大的算式
    Java实现 蓝桥杯 算法训练 最大的算式
  • 原文地址:https://www.cnblogs.com/BreezeWoo/p/WriteContentToAndWriteTo.html
Copyright © 2011-2022 走看看