hid*_*ser 7 xml json xml-parsing
我想了解以下标准和最佳实践:
案例场景:
如果“XYZ规范” (例如:BPMN规范)存在xml标准,例如:
<home>
<person name="ZEN" />
<person name="PAUL" />
<animal name="DOG" />
<animal name="CAT" />
</home>
和“XYZ SPECIFICATION”还提供扩展元素来定义您自己的标签,例如:
   <home>
    <person name="ZEN" />
    <person name="PAUL" />
    <animal name="DOG" />
    <animal name="CAT" />
    <extension>
    <instrument-list>
    <type name="acoustic">
      <instrument name="GUITAR" />
      <instrument name="VIOLIN"  />
    </type>
    <type name="electronic">
      <instrument name="GUITAR" />
      <instrument name="VIOLIN"/>
    </type>
    </instrument-list>
    </extension>
    </home>
其他客户端解析器使用标准定义的标签,它们不需要解析扩展标签,所以我认为使用 json 压缩扩展元素会更好(因为与 xml 相比,json 占用的空间更少):
  <home>
    <person name="ZEN" />
    <person name="PAUL" />
    <animal name="DOG" />
    <animal name="CAT" />
    <extension>
    <instrument-list>{"type":[{"name":"acoustic","instrument":[{"name":"GUITAR"},{"name":"VIOLIN"}]},{"name":"electronic","instrument":[{"name":"GUITAR"},{"name":"VIOLIN"}]}]}</instrument-list>
    </extension>
    </home>
或者
<home>
    <person name="ZEN" />
    <person name="PAUL" />
    <animal name="DOG" />
    <animal name="CAT" />
    <extension>
    <instrument-list><![CDATA[ {"type":[{"name":"acoustic","instrument":[{"name":"GUITAR"},{"name":"VIOLIN"}]},{"name":"electronic","instrument":[{"name":"GUITAR"},{"name":"VIOLIN"}]}]} ]]></instrument-list>
    </extension>
    </home>
它是否违反了标准和最佳实践?
没有“XYZ 规范”。不过,我建议您阅读 XML 及其规范,因为您需要考虑在 JSON 中转义以下字符,以便与 XML 解析器良好配合。
XML escape characters.
"   "
'   '
<   <
>   >
&   &
or use
<![CDATA[ ]]>