Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
在JavaScript中序列化XML_Javascript_Json_Xml_Express - Fatal编程技术网

在JavaScript中序列化XML

在JavaScript中序列化XML,javascript,json,xml,express,Javascript,Json,Xml,Express,我在express server中使用XML,使用express XML bodyparser对其进行解析,但生成的对象基本上不可用 XML 有没有办法把它直接传给别人 subclass: ['A07.0','A07.1','A07.2','A07.3','A07.8','A07.9'] 或者用一些简单的方法把它转换成这个数组 如果您想将json转换为对象,那么可能类似于 var arr = Object.keys(json).map(function(x) { return obj[x] }

我在express server中使用XML,使用
express XML bodyparser
对其进行解析,但生成的对象基本上不可用

XML

有没有办法把它直接传给别人

subclass: ['A07.0','A07.1','A07.2','A07.3','A07.8','A07.9']

或者用一些简单的方法把它转换成这个数组

如果您想将json转换为对象,那么可能类似于

var arr = Object.keys(json).map(function(x) { return obj[x] });
使用jQuery

var arr = $.map(json, function(x) { return x});
您可以将选项设置为
true
,以删除
$
属性:

 xmlparser({ mergeAttrs: true, explicitArray: false})
输出:

SubClass: [
    { code: "A07.0" },
    { code: "A07.1" },
    { code: "A07.2" },
    { code: "A07.3" },
    { code: "A07.8" },
    { code: "A07.9" }
]
或者您可以使用以下方法:

var data={子类:
[{'$':{代码:'A07.0'}},
{'$':{代码:'A07.1'}},
{'$':{代码:'A07.2'}},
{'$':{代码:'A07.3'}},
{'$':{代码:'A07.8'}},
{'$':{代码:'A07.9'}}]};
var result=data.subclass.map((obj)=>{
返回obj.$代码;
});

控制台日志(结果)
Array.from(parentNode.childNodes).filter(n=>n.nodeType==1).map(n=>n.getAttribute('code'))
序列化程序知道在什么逻辑下执行您描述的操作?如果XML看起来像这样,那么它应该怎么做:
这在OP发布的“JSON”上不起作用,我认为OP希望跳过中间的JSON步骤。
 xmlparser({ mergeAttrs: true, explicitArray: false})
SubClass: [
    { code: "A07.0" },
    { code: "A07.1" },
    { code: "A07.2" },
    { code: "A07.3" },
    { code: "A07.8" },
    { code: "A07.9" }
]