我正在使用libxml2的xmlwriter api编写一个xml文件。
当我使用记事本打开文件时,缩进不正确。
有人知道如何修复它吗?
非常感谢。
答案 0 :(得分:10)
我在这里有点意思,但我会说“缩进不对”你的意思是它根本没有缩进。
默认情况下,libxml2不会缩进XML文件,因为在XML中,空格(包括用于缩进的空格)是重要数据。也就是说,这个XML文件:<root>
<foo>Bar</foo>
</root>
在语义上与以下不同:
<root><foo>Bar</foo></root>
...因为第一个XML文件中的两个字符数据对您(程序员)来说可能很重要,因此,XML在读取文件时将它们留在那里,并且在写入时不会输出它们(除非指示)
那就是说,这是一个经常被滥用的XML。遗憾的是,我看到的大多数XML都是缩进的。 libxml2有选项可以在写入时自动输出缩进,并在读取时删除它,但请注意:有一些警告:它可能会出错。文档说的更多。
我认为这个功能可以帮助你(我从来没有真正使用过这个:-)),如果你想让它缩进:xmlTextWriterSetIndent
注意这里的警告:libxml2 FAQ
此处的信息:XML Specification
答案 1 :(得分:-1)
我相信你只想缩进,所以你可以阅读xml文件...在这种情况下,现在你可以使用谷歌浏览器查看xml,它将显示已缩进(请记住它不是一个好主意使用libxml2缩进xml文件。