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

这两天写了一个简单的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,也没作用。

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

posted @ 2008-03-20 17:12  glimix  阅读(2255)  评论(4编辑  收藏  举报