gpt4 book ai didi

c - 用 C 读取未知格式的 XML 文件

转载 作者:行者123 更新时间:2023-11-30 17:27:27 25 4
gpt4 key购买 nike

如何读取未知格式的 XML 文件,例如文件可以采用以下格式:

<data1>int1</data1>
<data2>int2</data2>
<data3>int3</data3>
<data4>int4</data4>

或者

<data1>int1</data1>
<data4>int4</data4>

或者

<data1>int1</data1>
<data2>int2</data2>
<data3>int3</data3>
<data4>int4</data4>
<data5>int5</data5>

在第二种情况下,我假设 int2 和 int3 被分配默认值。我想到了一种方法来解决这个问题,但结果却很困惑,像意大利面条一样。任何帮助将不胜感激!

最佳答案

(1) 这些都不是完整的 XML 文档。需要有一个根元素。

(2) 如果您不坚持限制实例的数量和顺序,则可以使用“|”在 DTD 中轻松声明元素内容可以是其他元素的混合运算符(operator)。 (参见http://www.w3.org/TR/xml11/#sec-element-content)

(3) 如果您想更严格地限制这些组合,那么是的,DTD 可能需要拼写出所有组合。切换到针对 XML Schemas 进行验证是一种显而易见的解决方案;无论如何,DTD 几乎被认为是过时的,因为它们与 XML 命名空间(它已成为 XML 处理的基本部分)不兼容。

(4) 如果您坚持使用 DTD,并且不能接受无约束的顺序/计数,并且不想拼写出所有可能的序列...请考虑进行一些检查和/或应用应用程序代码中而不是 DTD 中的默认值。

关于c - 用 C 读取未知格式的 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26382225/

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