问题描述
我正在使用 xerces-c 编写 XML。默认情况下,它将整个 DOM 写为一行文本。我尝试了漂亮的打印选项,如下所示,现在它打印双倍行距 - 在我看来,这不是很漂亮。有没有办法避免双倍行距?
void configureWriter(DOMLSSerializer* writer) {
writer->getDomConfig()->setParameter(XMLUni::fgDOMWRTFormatPrettyPrint,true);
}
输出:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<MyDocument>
<A>B</A>
<D>E</D>
</MyDocument>
解决方法
好的,我找到了答案。有一个不同的选项叫做“fgDOMWRTXercesPrettyPrint”,如果你也关闭这个关闭,那么输出中就没有空行。
void configureWriter(DOMLSSerializer* writer) {
writer->getDomConfig()->setParameter(XMLUni::fgDOMWRTFormatPrettyPrint,true);
writer->getDomConfig()->setParameter(XMLUni::fgDOMWRTXercesPrettyPrint,false);
}
输出:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<MyDocument>
<A>B</A>
<D>E</D>
</MyDocument>
这是给我答案的邮件线程:http://mail-archives.apache.org/mod_mbox//xerces-c-users/200908.mbox/%3C4A7697C0.1000304@datadirect.com%3E