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

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

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