c++ - XML 文件格式中的 bool 值应该写成 true/false 还是 1/0?

标签 c++ xml xml-parsing xml-serialization file-format

在开发二进制文件格式三十年后,我(终于)写出了 XML 文档文件格式。

我已经到达我的文档标题的一部分,我需要在其中编写大约 50 个独立的 bool 数据成员,我想知道:我应该将它们写为 1/0 还是 true/false?

我知道 XML 规范可能会采用任何一种方式。一方面,1/0 SEEMS 在读回文件格式时工作较少。但是由于文件格式很小,而且周期很便宜,是否认为适当的 XML 使文件格式尽可能符号化?如果是这样,XML 是否对所有枚举变量执行相同操作(输出它们的符号名称与它们的值——这可能会改变?)

附带说明 -- 我正在以这种形式生成 XML:

<FieldName>true</FieldName>

不是这种形式:

<FieldName value="true"/>

在阅读了数十篇相互矛盾的论文和帖子(一些在 Stack Overflow 上)之后,我发现属性样式(示例 #2)大部分人都不赞成。

最佳答案

您实质上是在问 XML 社区中的文化惯例是什么。文化习俗是做你自己的事。但是,值得注意的是,XSLT 和 XQuery 会将 xs:boolean 类型的值序列化为“true”或“false”。

至于元素还是属性,这是老生常谈了,像这样简单的数据,两种形式都可以接受。只需尝试在一个文档或一系列文档中保持一致即可。

关于c++ - XML 文件格式中的 bool 值应该写成 true/false 还是 1/0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17559701/

相关文章:

xml - 在 XMPP 中交换自定义 XML 元素的最佳方式?

r - 使用 httr 进行网页抓取会出现 xml_nodeset 错误

c++ - 使用 XMLString::release( XMLCh ** buf)

c++ - 编译期间缺少包含 (Cocos2d-x 3.1 + XCode 5.1.1)

c++ - 无法链接 libcurl。(Dev-C++)

c++ - 如何将原始图像数据保存为png图像?

c++ - 防止用户从不正确的 CRTP 基础派生

java - 用于从 XML 获取属性的 Xpath 不区分大小写的表达式

javascript - 获取父元素属性值

iOS:如何在使用 Grand Central Dispatch (GCD) 时同步我的 managedObjectContext?