转载:VC DOM 操作XML

操作XML有两种方法:一种是DOM 另一种是ASX 这两种的区别在于:DOM在读取XML文档时要把整个文件都放入内存,然后形成一个完整的DOM树,然后再解析.因此,DOM对于大型文件常常力不从心.而ASX则是读取一行解析一行,不必把所有内容都放入内存.因此适合大型文件的读取.

 

这不,最近自己也遇到这方面的问题.硬着头皮把别人的代码阅读了一遍,基本掌握了创建 获取XML文档的流程.现介绍如下:

 

1.在你的APP类里面的InitInstance()函数里面添加函数AfxOleInit();进行COM口初始化

 

2.在具体实现的函数前面引入用于解释XML的dll 代码:#import "msxml4.dll"

 

2.创建XML

 

   1).声明并创建一个DOM对象

 

     首先声明一个指向DOM对象的智能指针: MSXML2::IXMLDOMDocumentPtr pDoc;

 

       再声明一个指向根节点的智能指针:      MSXML2::IXMLDOMElementPtr xmlRoot;

 

<附注:智能指针 类似于一个对象,在应用程序关闭之后,可以自动释放指针指向的那部分空间,好象一个类默认就有构造函数和析构函数一样.这样可以防止程序员的疏忽造成内存泄露>

 

   然后开始创建DOM对象:HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));

 

创建根节点:     pDoc->raw_createElement((_bstr_t)(char*)"china", &xmlRoot);

 

pDoc->raw_appendChild(xmlRoot, NULL);

 

2):添加

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值