一个可以格式化输出的XML类(C++)

作者创建了一个简单的XML操作类CXmlDesign,在测试过程中发现保存的XML文件格式不易阅读。通过研究MS SDK文档和查找资料,最终实现了XML文件的格式化输出,并解决了注释节点被忽略的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天写了一个简单的XML操作类:CXmlDesign
写了一个测试程序,发现将保存后的结果,以文本文件打开的时候,所有的标记都在一行,很不方便阅读。
我想
MS不会没有想到这一点,查阅了一下SDK文档:
SXML\SAX2\SAX2 Reference\
其中IMXWriter接口提供了几个属性:Encoding/Indent可供使用,
不过在SDK文档中,这部分基本都是VB代码,
关键的一部分:Connecting an MXXMLWriter to a SAXXMLReader

Private Sub Form_Load()
    Set rdr.contentHandler = wrt
    Set rdr.dtdHandler = wrt
    Set rdr.errorHandler = wrt
End Sub

上面的代码中设置ISAXXMLReader的属性时,直接将IXMLWriter接口传递了过去,VC中肯定不会这么方便吧。
搜索到了一篇有用的,我晕,在那个叫什么pudn的网站,就是要注册收费的那个,我现在一搜索到这个网站,立马点叉。
精简搜索关键字后,在CodeProject上搜索到了VC的范例,与MSDN上的那个VB的例子一样的界面,一样的效果,拿过来改了一下,终于可以格式化了。
不过,我测试的时候发现我插入的注释节点被忽略了,我设置了encodingGB2312,也没作用。

下载地址:
http://files.cnblogs.com/Touchsoft/XmlDesign.rar

转载于:https://www.cnblogs.com/Touchsoft/archive/2008/03/20/1115106.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值