javascript - xml 到 json 映射挑战

标签 javascript xml json mapping format-conversion

乍一看,我认为在 javascript 中使用 xml 数据就像找到一个 xml-to-json 库并将我的 xml 转换为 javascript 对象树一样简单。

但是,现在我意识到可以在 xml 中创建不直接映射到 json 的结构。

具体来说,这个:

<parentNode>
    <fooNode>data1</fooNode>
    <barNode>data2</barNode>
    <fooNode>data3</fooNode>
</parentNode>

我发现的 xml-to-json 工具将之前的转换为如下形式:

{
parentnode:{
    foonode:[
        'data1',
        'data3'
    ],
    barnode:'data2'
}

其中,子节点的顺序发生了变化。我需要保留子节点的顺序。任何人都有比

更优雅的解决方案

a) 放弃自动转换的想法,只设计自己的 javascript 对象结构并编写代码来处理这个特定的 xml 模式

b) 完全放弃任何转换的想法,将我的 xml 数据保留为 xml 文档,然后我将遍历它。

最佳答案

已经建立了从 XML 到 JSON 的映射(参见 Converting Between XML and JSON )和从 JSON 到 XML 的映射(参见 JSONx 为 defined hereconversion rules by IBM)。但是,尚未定义从 XML 到 JSON 的保留顺序的映射。要完全捕获 XML 的所有方面,应该表达 XML Infoset在 JSON 中。如果您只关心 XML 元素(没有处理指令等),我会选择这种结构:

[
  "parentNode",
  { } /* attributes */
  [ 
    [ "fooNode", { }, [ "data1" ] ]
    [ "fooNode", { }, [ "data2" ] ]
    [ "fooNode", { }, [ "data3" ] ]
  ]
]

我用 XML::Struct 实现了与 XML 和 Perl 数据结构之间的映射相同的映射,就像 JSON 一样.该结构进一步对应于MicroXML的抽象数据模型。 ,一个简化的 XML 子集。

关于javascript - xml 到 json 映射挑战,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/853665/

相关文章:

javascript - HTML5 输入类型=时间的正则表达式

javascript - 用户可以更改 javascript 闭包函数吗?

javascript - 遍历 div 以查找每个类的所有元素不起作用

javascript - 如何以 Angular 获取json对象的名称

php - $.getJSON 在某些浏览器中的问题

javascript - Django 将 JSON 数据传递给静态 getJSON/Javascript

xml - 图表有任何 XML 标准吗?

Python QuickBase API 帮助

xml - 在本地托管 W3 XML 架构文件

json - 如何根据条件过滤JSON数组结果?