我的问题如下:
我正在使用下载XML文件express.js
,然后解析该文件。现在看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE item [ ]>
<item lang="EN" >
<country>US</country>
<doc-number>123123123</doc-number>
<kind>A1</kind>
<date>20191017</date>
</item>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE item [ ]>
<item lang="EN" >
<country>US</country>
<doc-number>0938409384</doc-number>
<kind>A2</kind>
<date>20191018</date>
</item>
我正在使用该xml2js
库,但是在获取整个文档时遇到了麻烦。我的代码看起来像这样
parseString(xml, function (err, result) {
console.log(obj);
})
XML仅输出第一段xml。我该如何解析,以便获得<item>
s的数组?
我的第一个想法是将文档作为字符串循环遍历,然后基于它进行拆分并以<?xml version="1.0" encoding="UTF-8"?>
这种方式解析数据。
谢谢!
我认为单个xml文档不能有多个xml声明。此外,根元素必须始终存在。
因此,原则上,您提供的xml文档是2个单独的xml文档。由于格式不正确,大多数解析器或API可能会拒绝它。
您是否可以控制文档的生成方式?如果是,则应确保将存在单个xml声明和单个root元素。类似于:
<?xml version=“1.0” encoding=“utf-8”>
<items>
<item>…</item>
<item>…</item>
</items>
如果您对生成没有任何控制,则可能应将其拆分并分别解析文档,或将它们串联起来以生成类似于上述文档的文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句