XML文件格式的布尔值应该写为true / false还是1/0?

时间:2013-07-09 22:58:25

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

经过三十年的二进制文件格式开发,我(最终)写出了一个XML文档文件格式。

我到达了文档标题的一部分,我需要编写大约五十个单独的布尔数据成员,我想知道:我应该将它们写为1/0还是true / false?

我理解XML规范可能会采用任何一种方式。一方面,1/0 SEEMS在重新读取文件格式时工作量较少。但由于文件格式很小,周期很便宜,所以认为文件格式尽可能符号是否合适?如果是这样,对所有枚举变量做同样的XML是否正确(输出它们的符号名称与它们的值 - 这可能会改变?)

在旁注 - 我正在以这种形式生成XML:

<FieldName>true</FieldName>

不是这种形式:

<FieldName value="true"/>

在阅读了DOZENS的相互矛盾的论文和帖子(一些关于Stack Overflow)之后,它发现属性风格(例子#2)已经大部分都不满意了。

2 个答案:

答案 0 :(得分:4)

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

至于元素与属性,它是一个古老的栗子,对于像这样的简单数据,两种形式都是完全可以接受的。只是尝试在文档或文档系列中保持一致。

答案 1 :(得分:3)

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