Как получить атрибуты элемента XML кросс-браузерным способом? - PullRequest
0 голосов
/ 29 июня 2010

Internet Explorer поддерживает синтаксический анализ ответов xml и позволяет вам

element.xml.attributes.getNamedItem('myAttr')

Как сделать то же самое для элемента xml в браузерах на основе стандартов?

Тип элемента:[Элемент объекта]

Ответы [ 2 ]

0 голосов
/ 30 июня 2010

ОК, получил ответ, используя FireBug, отсюда: Универсальный атрибут регулярного выражения xml с javascript

element.ownerDocument.evaluate("//@"+attributeName, element.ownerDocument, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null).iterateNext().nodeValue;

        function GetAttributeValueFromXmlElement(element, attrName) {
        if (element && element.xml) {
            //msie
            return $(element.xml)[0].attributes.getNamedItem(attrName).value;
        } else {
            //standard DOM
            if (true/*Should check if there's only one here and only where expected to be*/) {
                return element.ownerDocument
                    .evaluate("//@" + attrName, element.ownerDocument, null
                    , XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null)
                    .iterateNext().nodeValue;
            }
        }
    }
0 голосов
/ 29 июня 2010

Используйте стандартный DOM вместо правильного подхода Microsoft. (Предполагается, что вы говорите о правильном документе XML, а не о эре IE4 «Остров данных XML»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...