有没有办法在没有双倍行距的情况下制作 Xerces-C 漂亮打印的 XML?

问题描述

我正在使用 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...