GetElementsByTagName не работает на XML - PullRequest
2 голосов
/ 17 декабря 2011

Мой сайт вызывает веб-сервис, а веб-сервис возвращает XML.Когда я пытаюсь проанализировать возвращенный xml, используя getElementsByTagName('*tag name*') в javascript, 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 голосов
/ 07 февраля 2012

Документ - это интерфейс, а не экземпляр объекта документа. Используйте createDocument для создания объекта, затем добавьте responseXML к документу:

var dom = document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html', null);
dom.firstChild.appendChild(dom.createCDATASection(xmlDoc) );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...