Xerces-C++更新XML文档的空行格式问题

使用XML

大致代码如下:

 XMLCh tempStr[100];
 XMLString::transcode("LS", tempStr, 99);
 DOMImplementation *impl          = DOMImplementationRegistry::getDOMImplementation(tempStr);

 DOMWriter         *theSerializer = ((DOMImplementationLS*)impl)->createDOMWriter();
//设置输出格式为美观化
 if (theSerializer->canSetFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true))
 theSerializer->setFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true);
...
 XMLFormatTarget *myFormTarget = new LocalFileFormatTarget(strFileName.c_str());

 // do the serialization through DOMWriter::writeNode();
 //

 theSerializer->writeNode(myFormTarget, *doc);

这种方法输出的XML文档,每更新一次XML文件,就会在XML文档中每个元素节点后增加一个空行,这样更新的次数越多,XML文件中的空行越多,文件就变得越来越大。如果把不设置XMLUni::fgDOMWRTFormatPrettyPrint,就不会出现文件增加空行的情况,但生成的XML文件可读性比较差。

查看了Xerces-C++的文档及其例子,好象没有其它更好的方法解决。希望有使用过Xerces-C++的朋友来指点一下!

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值