GetElementsByTagName无法处理XML

时间:2011-12-16 21:23:17

标签: javascript xml web-services parsing safari

我的网站调用webservice,webservice返回xml。当我尝试使用javascript中的getElementsByTagName('*tag name*')解析返回的xml时,safari会出现以下错误:

  

TypeError:'undefined'不是一个函数(评估   'xmlDoc.getElementsByTagName(' APPLICATION_ID ')')

有谁知道为什么会这样? XML在Internet Explorer上解析得很好。

我的JS:

function GetValuesFromXML(xmlText) {
    var string = xmlText.responsexml;

    var xmlDoc = xmlText.responseXML;
    var appIdArray = xmlDoc.getElementsByTagName('application_id');
    document.write(appIdArray[0].xml);
}

xmlText是网络服务返回的xmlhttprequest

1 个答案:

答案 0 :(得分:0)

Document是一个接口,而不是文档对象的实例。使用createDocument创建一个对象,然后将responseXML附加到文档:

var dom = document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html', null);
dom.firstChild.appendChild(dom.createCDATASection(xmlDoc) );