JavaScript/jQuery:如何在XML元素中获取所有属性的数组?

Dan*_*fer 1 javascript xml jquery

给出jQuery中的XML元素,如下所示:

$('<foo oy="vey" foo="bar" here="is" another="attribute" />')
Run Code Online (Sandbox Code Playgroud)

我可以使用jQuery或普通的旧JavaScript来获取包含XML元素中所有属性名称的数组吗?我希望这个:

['oy','foo','here','another']
Run Code Online (Sandbox Code Playgroud)

CMS*_*CMS 5

jQuery的功能是不是真的意味着解析XML,它可以解析HTML,但它不是真的一样.

使用浏览器的XML解析器怎么样:

function parseXML(text) {
  var parser, xmlDoc;

  if (window.DOMParser) {
    parser = new DOMParser();
    xmlDoc = parser.parseFromString(text,"text/xml");
  } else {  // IE
    xmlDoc=  new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async = "false";
    xmlDoc.loadXML(text); 
  }
  return xmlDoc;
}

// Demo
var doc = parseXML('<foo oy="vey" foo="bar" here="is" another="attribute" />');
var foo = doc.childNodes[0];
for (var i = 0; i < foo.attributes.length; i++) {
  var attr = foo.attributes[i];
  alert(attr.name + " = " + attr.value); 
}
Run Code Online (Sandbox Code Playgroud)

这里运行上面的代码.