gpt4 book ai didi

c - xmlReadMemory 不保留原始格式的空节点

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:58 30 4
gpt4 key购买 nike

我在 C 中使用 libxml2 来解析 const char *这是 XML 格式。当我创建 xmlDocPtr对于这个字符串(使用 xmlReadMemory(..) ),结果 xmlDocPtr不保留原始形式的空节点 ( <tag></tag> )。它将每一对合并到一个标签 ( <tag/> ) 中。就我而言,它正在制造问题。有什么办法可以保留这些空节点的原始形式吗?我在 xmlReadMemory() 中看到“选项”参数,但不确定我是否可以将它用于此目的。

最佳答案

It consolidates each pair in a single tag (). In my case, it is creating problem.

就其值(value)而言,它依赖于 XML 不能保证的东西。规范说,“空元素的表示是紧跟结束标记的开始标记,或者是空元素标记。”

https://www.w3.org/TR/REC-xml/#sec-starttags

任何符合规范的 XML 解析器都应该将这两种表示视为同一事物。我不知道是否可以更改依赖它的任何代码,但那将是最“正确”的解决方案。

我知道有时候这些事情是我们无法控制的,只是想提出这个想法。

关于c - xmlReadMemory 不保留原始格式的空节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49316233/

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