【问题标题】:Should booleans in an XML file format be written as true/false or 1/0?XML 文件格式的布尔值应该写成真/假还是 1/0?
【发布时间】:2013-07-07 17:41:23
【问题描述】:

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

我已经到达了我的文档标题的一部分,我需要编写大约 50 个单独的布尔数据成员,我想知道:我应该将这些写为 1/0 还是真/假?

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

另外,我正在以这种形式生成 XML:

<FieldName>true</FieldName>

不是这个表格:

<FieldName value="true"/>

在阅读了数十篇相互冲突的论文和帖子(一些在 Stack Overflow 上)之后,似乎属性样式(示例 #2)大多不受欢迎。

【问题讨论】:

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


    【解决方案1】:

    您实际上是在问 XML 社区中的文化约定。文化约定是做自己的事。但是,值得注意的是,XSLT 和 XQuery 会将 xs:boolean 类型的值序列化为“true”或“false”。

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

    【讨论】:

      【解决方案2】:

      无论如何,与二进制格式相比,XML 是如此冗长,以至于它可能并不重要。但为了方便和清晰,我会写成truefalse

      【讨论】:

        猜你喜欢
        • 2020-12-31
        • 2023-03-02
        • 1970-01-01
        • 1970-01-01
        • 2010-09-25
        • 2021-09-11
        • 1970-01-01
        • 1970-01-01
        • 2011-09-22
        相关资源
        最近更新 更多