【问题标题】:Javascript XML object - UndefinedJavascript XML 对象 - 未定义
【发布时间】:2017-02-08 17:42:10
【问题描述】:

以下代码带回了我的 id。

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    myFunction(this);
  }
};
xhttp.open("GET", "https://brewslocal.com/brewery-images-xml", true);
xhttp.send();

function myFunction(xml) {
  var xmlDoc = xml.responseXML;
  document.getElementById("photoBox").innerHTML = xmlDoc.getElementsByTagName("image")[0].id;
}
<div id="photoBox"></div>

当我更改为下一个属性 imageurl 时,它会返回未定义。

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    myFunction(this);
  }
};
xhttp.open("GET", "https://brewslocal.com/brewery-images-xml", true);
xhttp.send();

function myFunction(xml) {
  var xmlDoc = xml.responseXML;
  document.getElementById("photoBox").innerHTML = xmlDoc.getElementsByTagName("image")[0].imageurl;
}
<div id="photoBox"></div>

有什么想法吗?

【问题讨论】:

    标签: javascript xml xml-parsing


    【解决方案1】:

    您可以使用Element.getAttribute('attributeName') 来获取此自定义 HTML 元素的属性值。

    function myFunction(xml) {
      var xmlDoc = xml.responseXML;
      document.getElementById("photoBox").innerHTML = xmlDoc.getElementsByTagName("image")[0].getAttribute('imageurl');
    }
    

    【讨论】:

      【解决方案2】:

      你可以这样做

      function myFunction(xml) {
      var xmlDoc = xml.responseXML;
      var x = xmlDoc.getElementsByTagName('title')[0];
      var y = x.childNodes[0];
      document.getElementById("demo").innerHTML =
      y.nodeValue; 
      

      }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-20
        • 2013-01-16
        • 1970-01-01
        • 2020-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-11
        相关资源
        最近更新 更多