Internet Explorer支持xml响应解析,并允许您执行
element.xml.attributes.getNamedItem('myAttr')
如何在基于标准的浏览器中对xml元素执行相同的操作?
元素的类型是[object Element]
答案 0 :(得分:0)
使用standard DOM代替Microsoft的适当方法。 (假设您正在讨论的是正确的XML文档,而不是IE4时代的“XML数据岛”)
答案 1 :(得分:0)
好的,从这里使用FireBug得出答案:Versatile xml attribute regex with 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;
}
}
}