我是Ajax的新手。

我正在尝试解析this document

我已经做好了readystatechange的工作,并且它正在获取XML。但是当涉及到childNodes及其值时,我感到困惑。

这是一些代码。如果我尝试提醒该第一个值,则该值为空白。

var clientList = request.responseXML.getElementsByTagName('client');
for (var i=0;i<clientList.length;i++) {
    var client=clientList[i];
    var clientName = client.childNodes[0].nodeValue;
    alert(clientName)


据我了解,基于XML文档,每个“ client”标签将具有以下ChildNodes:

[0] : clientName,
[1] : clientStreetAddress,
[2] : clientCity
[n] : ...and so on...


那我在这里想念什么?显然,我没有事实。请帮忙!

最佳答案

您应该使用标签名称从XML中读取数据,而不要基于标签的顺序。解析文档时,它可能在元素之间包含空白的textnodes,这会抵消包含所需数据的元素的索引。

var clientName = client.childNodes.selectSingleNode('./clientName').nodeValue;

10-04 11:01