通过XML标记进行Javascript迭代

时间:2016-11-24 10:43:58

标签: javascript xml xml2js

我有GET请求的以下输出:

<VALUE1>value1</VALUE1>
<VALUE2>value2</VALUE2>
...
<VALUEn>valuen</VALUEn>

我需要在数组中获取所有这些值,如:

[
    value1,
    value2
    ....
    value
]

我尝试迭代增加一个值,例如val然后将其放在VALUE标记上,就像这样 - VALUE[val]但没有运气。 我使用xml2js库,我的输出是value.VALUE。我可以通过value.VALUE1获得第一个值,但我应该如何迭代以达到所有值?

1 个答案:

答案 0 :(得分:1)

使用XPath是另一种可以轻松获得它的方法

var outputArray = [];
var xml = http.responseXML;
for (i = 0; i < n; i++)
{
    var tagValue = xml.evaluate('string(/ex:value'+ i +')',
                              xml,
                              nsResolver,
                              XPathResult.STRING_TYPE,
                              null);
    outputArray.push(tagValue.stringValue);
 }

您可以阅读有关XPath评估here

的信息