gpt4 book ai didi

javascript - xml 到 json 映射挑战

转载 作者:数据小太阳 更新时间:2023-10-29 01:51:16 26 4
gpt4 key购买 nike

乍一看,我认为在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com