动态解析xml属性key =>值对

时间:2014-03-30 20:09:07

标签: javascript jquery xml

是否可以在xml文档中循环遍历一组<marker>并动态访问属性的key =&gt; val及其标记的值?

<marker attr1="val1" attr2="val2" /><marker attrA="vala" attrB="valB" />

我希望能够访问attr1,attr2,attrA,attrB及其值而不必显式调用这些属性,而是让它自动将键设置为“attr1”并将val设置为“val1”等等

1 个答案:

答案 0 :(得分:0)

您可以使用.attributes列表:

var markers = xmlDocument.getElementsByTagName("marker");
var map = {};
for (var i=0; i<markers.length; i++) {
    var ma = markers[i].attributes;
    for (var j=0; j<ma.length; j++) {
        map[ma[j].name] = ma[j].value;
    }
}
// map: {attr1:"val1", attr2:"val2", attrA:"vala", attrB:"valB"}

请注意,这似乎不支持旧的IE,但这可能只适用于HTML文档。