如何从未标记的嵌套XML文件中提取数据?

时间:2018-05-01 07:27:06

标签: node.js xml parsing xml2js

我正在尝试使用xml2js库解析Node.js中的XML文件。但是,我无法访问该XML文件的嵌套内容。以下是我的XML文件的样子:

$(1)

我正在尝试访问此xml文件中的LargeImage标记。截至目前,我正试图通过这样做来访问子节点:

<?xml version=\"1.0\" ?>
<ItemSearchResponse
xmlns=\"http://webservices.amazon.com/AWSECommerceService/2013-08-01\">
<OperationRequest>...</OperationRequest>
<Items>
    <Item>
        <LargeImage>..</LargeImage>
    </Item>
    <Item>...</Item>
    <Item>...</Item>
    <Item>...</Item>
</Items>

为此,这将打印在控制台上:

        var xml = response.responseBody; //this is an api call which returns the XML file
        parser.parseString(xml, function (err, result) {//parser is an object of xml2js
            console.log(result['ItemSearchResponse']['Items']);
        });
        //console.log("Raw response body: ", response.responseBody);
        }).catch((err) => {
            console.error("Something went wrong! ", err);
        });

我正在尝试访问Items末尾的多个对象。 我的问题的任何解决方案或方向都会非常有用。

1 个答案:

答案 0 :(得分:0)

经过一些试验和错误,我改变了

result['ItemSearchResponse']['Items']

result.ItemSearchResponse.Items[0].Item[0].LargeImage[0].URl

获得所需的结果。