在 XML 中存储基元

Storing primitives in XML

我已经很久没有使用 XML,大部分时间只是将 JSON 用于序列化数据。 我正在努力创建一个自制的 XML 到 JSON 转换器以与 Node.js 一起使用,不是那么容易,但应该是可行的。

存储原始类型的标准是什么,我能想到的是:

<root>
  <a type="string">foobar</a>
  <b type="boolean">true</b>
  <c type="number">69</c>
</root>

没有比这更好的方法了吗?

虽然 XML 架构通常用于在架构中声明文档的内容和词法类型,但它还建立了 xsi:type 属性作为表达动态类型元素的习语或属性,以及 XML 字符串、数字、日期等的架构数据类型

使用 XML 架构数据类型和 xsi:type 您的示例如下所示:

<root
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <a xsi:type="xsd:string">foobar</a>
  <b xsi:type="xsd:boolean">true</b>
  <c xsi:type="xsd:unsignedInt">69</c>
</root>