Можно ли выполнить цикл из <marker>
в документе xml и динамически получить доступ к ключам => значению атрибутов и их значению маркера?
<marker attr1="val1" attr2="val2" /><marker attrA="vala" attrB="valB" />
Я хочу иметь доступ к attr1, attr2, attrA, attrB и их значениям, не имея необходимости явно вызывать эти атрибуты, но вместо этого он автоматически устанавливает ключ на "attr1" и val как "val1" и так далее.
Вы можете использовать список .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.