gpt4 book ai didi

libxml2 保留空标签

转载 作者:行者123 更新时间:2023-12-02 17:13:14 25 4
gpt4 key购买 nike

libxml2(用于 C)在保存时不会保留原始形式的空元素。它取代了<tag></tag><tag/>这在技术上是正确的,但给我们带来了问题。

xmlDocPtr doc = xmlParseFile("myfile.xml");
xmlNodePtr root = xmlSaveFile("mynewfile.xml", doc);

我尝试过使用各种选项(使用 xlmReadFile ),但似乎都不会影响输出。这里的一篇文章提到禁用标签压缩,但该示例是针对 PERL 的,我没有发现 C 的类似情况。

是否有选项可以禁用此行为?

最佳答案

刚刚在 xmlsave module documentation 中找到了这个枚举 :

 Enum xmlSaveOption {
XML_SAVE_FORMAT = 1 : format save output
XML_SAVE_NO_DECL = 2 : drop the xml declaration
XML_SAVE_NO_EMPTY = 4 : no empty tags
XML_SAVE_NO_XHTML = 8 : disable XHTML1 specific rules
XML_SAVE_XHTML = 16 : force XHTML1 specific rules
XML_SAVE_AS_XML = 32 : force XML serialization on HTML doc
XML_SAVE_AS_HTML = 64 : force HTML serialization on XML doc
XML_SAVE_WSNONSIG = 128 : format with non-significant whitespace
}

也许您可以重构您的应用程序以使用此模块进行序列化,并尝试一下这些选项。特别是 XML_SAVE_NO_EMPTY

关于libxml2 保留空标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10423839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com