javascript - ChildNodes/NodeValue 混淆

标签 javascript ajax xml nodevalue

我是 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/

相关文章:

php - MySQL 查询不只输出结果标题

java - XML 到 POJO,反之亦然

c# - Xml InnerXml 缩进问题

javascript - 我需要清除 JavaScript 中的 Set 来释放内存吗?

javascript - Arraylist<String> 到 jsp 中的 javascript 数组

javascript - wheelnav.js 库菜单项中的 Unicode 实体(在引擎盖下使用 raphael.js)[SVG]

ruby-on-rails - (Rails)什么是 "RJS"?

javascript - 我的 Ajax JavaScript 代码无法正常工作

java - 从 XML 文档获取属性

javascript - 在第一个方法调用时执行所有 if-body 的正确方法