我是 Ajax 新手。
我正在尝试解析 this document .
我已经了解了 readystatechange,它正在获取 XML。但是当涉及到子节点及其值时,我感到困惑。
这是一些代码。如果我尝试提醒第一个值,它会变成空白。
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 文档,每个“客户端”标签将具有以下子节点:
[0] : clientName,
[1] : clientStreetAddress,
[2] : clientCity
[n] : ...and so on...
那么我在这里缺少什么?显然我没有弄清楚我的事实。请帮忙!
最佳答案
您应该使用标签的名称从 XML 中读取数据,而不是根据标签的顺序。解析文档时,它可能包含元素之间空白的文本节点,这会偏移包含所需数据的元素的索引。
var clientName = client.childNodes.selectSingleNode('./clientName').nodeValue;
关于javascript - ChildNodes/NodeValue 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6636927/