【发布时间】:2010-12-27 06:44:03
【问题描述】:
我正在使用 libxml2 的 xmlwriter api 编写一个 xml 文件。
当我使用记事本打开文件时,缩进不对。
有人知道怎么解决吗?
非常感谢。
【问题讨论】:
我正在使用 libxml2 的 xmlwriter api 编写一个 xml 文件。
当我使用记事本打开文件时,缩进不对。
有人知道怎么解决吗?
非常感谢。
【问题讨论】:
我在这里有点犹豫,但我会说“缩进不正确”是指它根本没有缩进。
默认情况下,libxml2 不会缩进您的 XML 文件,因为在 XML 中,空格(包括用于缩进的空格)是重要的数据。也就是这个XML文件:
<root>
<foo>Bar</foo>
</root>
在语义上不同于:
<root><foo>Bar</foo></root>
... 因为第一个 XML 文件中的两个字符数据片段对您(程序员)可能很重要,因此,XML 在读取文件时将它们保留在那里,并且在写入时不会输出它们(除非指示) .
也就是说,这是一个经常被滥用的 XML。遗憾的是,我见过的大多数 XML 都是缩进的。 libxml2 具有在写入时自动输出缩进并在读取时将其删除的选项,但请注意:对此有一些警告:它可能会出错。文档说得更多。
我认为这个函数可能会对你有所帮助(我自己从未真正使用过它:-)),如果你想让它为你缩进:xmlTextWriterSetIndent
注意这里的警告:libxml2 FAQ
以及这里的信息:XML Specification
【讨论】: