Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 在XML中存储原语_Json_Node.js_Xml_Primitive Types - Fatal编程技术网

Json 在XML中存储原语

Json 在XML中存储原语,json,node.js,xml,primitive-types,Json,Node.js,Xml,Primitive Types,我已经很久没有使用XML了,主要是对序列化数据使用JSON。 我正在创建一个用于Node.js的自制XML-to-JSON转换器,虽然不是那么容易,但应该是可行的 存储基元类型的标准是什么,我能想到的只有: <root> <a type="string">foobar</a> <b type="boolean">true</b> <c type="number">69</c> </root>

我已经很久没有使用XML了,主要是对序列化数据使用JSON。 我正在创建一个用于Node.js的自制XML-to-JSON转换器,虽然不是那么容易,但应该是可行的

存储基元类型的标准是什么,我能想到的只有:

<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>

我们有XSD,它可以控制哪些元素中允许哪些数据类型。我不明白为什么类型需要存储在XML本身中。看起来容易出错的boolena vs boolean vs boolean等等。