您的位置:首页 > 编程语言 > C语言/C++

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

2006-08-28 17:55 302 查看
使用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++的朋友来指点一下!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: