Читайте XML в браузере - PullRequest
       2

Читайте XML в браузере

0 голосов
/ 22 февраля 2011

У меня есть строка ниже в JavaScript

var output = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><abc><xyz><xyzResponse><URL>http%3A%2F%2Flocalhost%3A8080%2Fnet%2Fxyz.do%3Fpartner%3Ddummy%26id%3Dba0e245f-ae67-40b6-986d-3242acea4c04</URL><StatusMsg>SUCCESS</StatusMsg><ID>hello.com</ID><AID>test</AID></xyzResponse></xyz></abc>';

Я хочу разобрать это как XML и получить значения из него.

Я попробовал ниже код

var xmlObj = $(output);
alert(xmlObj.find('URL').text())

Он работает в FireFox, но не работает в IE.Это не дает никакой ошибки, но не показывает никакого контента.

Как читать XML, который является строковым форматом, и использовать контент, используя javascript для всех браузеров?

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 22 февраля 2011

Функция jQuery $() не анализирует XML: она обрабатывает его как HTML и вставляет его в HTML DOM, который в общем случае не работает.Если вы используете jQuery 1.5, вы можете использовать его новый parseXML() метод:

var xmlObj = $.parseXML(output);
alert( $(xmlObj).find('URL').text() );

Если вы не можете использовать jQuery 1.5, вам понадобится функция разбора XMLнапример, тот, который я разместил здесь: Странная проблема с jQuery XML

0 голосов
/ 22 февраля 2011

Я сделал следующее для разбора xml для всех браузеров.Я надеюсь, вы тоже найдете это полезным.

if(window.DOMParser)//Firefox, Chrome and others Browsers
    {
        var xmlString = (new XMLSerializer()).serializeToString(response);
        parser=new DOMParser();
        xmlDoc=parser.parseFromString(xmlString,"text/xml");
    }
    else // Internet Explorer
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async="false";
        xmlDoc.load(response);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...