如何将childNodes用于XML文档
How to use childNodes for XML document?
我创建了以下javascript:
<script>
function stats(cod) {
var th = document.getElementsByTagName("th");
var tds = document.getElementsByClassName("pt");
httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState == 4 && httpRequest.status == 200) {
var xmlDoc = httpRequest.responseXML.documentElement;
th[0].innerHTML = xmlDoc.getElementsByTagName('name')[0].firstChild.nodeValue;
tds[0].innerHTML = xmlDoc.getElementsByTagName('what')[0].firstChild.nodeValue;
tds[1].innerHTML = xmlDoc.getElementsByTagName('office')[0].firstChild.nodeValue;
tds[2].innerHTML = xmlDoc.getElementsByTagName('www')[0].firstChild.nodeValue;
tds[3].innerHTML = xmlDoc.getElementsByTagName('over')[0].firstChild.nodeValue;
}
}
httpRequest.open("GET","getData.php?codice=" + cod, true);
httpRequest.send(null);
}
</script>
我确信这是读取XML内容并将其值分配给表TD的更好方法。我试图使用xmlDoc.getElementsByTagName('response').childNodes;
获取包含在xmlDoc
中的所有元素的数组,但结果似乎是未定义的。
编辑:
以下是XML:的示例
<response>
<name>The name</name>
<what>What is</what>
<office>The office</office>
<www>The website</www>
<over>Yes</over>
</response>
您可以很容易地将response
元素作为访问
var response = httpRequest.responseXML.documentElement;
然后,我不会尝试使用childNodes
,因为它可以在元素之间包含文本节点,而使用response.children
将为您提供子元素,但仅在现代浏览器中使用。在这种情况下,元素还有一个textContent
属性,您可以在所有这些firstChild.nodeValue
访问的情况下使用:
var childElements = response.children;
th[0].innerHTML = childElements[0].textContent;
tds[0].innerHTML = childElements[1].textContent;
...
另一方面,一旦XML中元素的顺序发生变化或某个元素被省略,您就会读出错误的数据,因此使用例如response.getElementsByTagName('www')[0].textContent
来命名有一些优势。
getElementsByTagName
返回一个类似数组的元素集合。
特定元素(包括集合的每个成员)可以具有childNodes
。该系列本身不会。
相关文章:
- 如何将childNodes用于XML文档
- 加载的XML文档为null(Javascript)
- 如何将 :empty 选择器应用于 XML 文档
- 无法使用JavaScript在网页上加载XML文档
- 在 javascript 中创建 xml 文档显示错误
- 是否可以检测IE何时忽略xml文档中的空白文本节点
- 在分析 XML 文档后循环访问关联数组
- jQuery 重新加载 xml 文档需要关闭浏览器
- 在jQuery的XML文档中选择和操作DOM中的元素
- 转义 XML 文档中的特殊字符
- 使用jQuery解析XML文档,有没有有效的方法
- 可以't使用getElementsByTagName从Javascript中的XML文档中检索节点
- 在javascript中检索XML文档的所有值
- 如何用Javascript克隆XML文档
- 如何使用Node.js解析HTML/XML文档
- 使用XML文档中的内容更新链接文本
- clonoNode()Dom方法无法克隆给定的Xml文档对象
- 用于解析xml文档的Javascript代码
- 在服务器端编辑XML文档
- javascript来搜索XML文档中的属性