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

SMG*_*eld 6 c++ xml file-format xml-serialization xml-parsing

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

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

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

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

<FieldName>true</FieldName>
Run Code Online (Sandbox Code Playgroud)

不是这种形式:

<FieldName value="true"/>
Run Code Online (Sandbox Code Playgroud)

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

Mic*_*Kay 5

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

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