Динамический анализ xml атрибута key => пары значений

0

Можно ли выполнить цикл из <marker> в документе xml и динамически получить доступ к ключам => значению атрибутов и их значению маркера?

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

Я хочу иметь доступ к attr1, attr2, attrA, attrB и их значениям, не имея необходимости явно вызывать эти атрибуты, но вместо этого он автоматически устанавливает ключ на "attr1" и val как "val1" и так далее.

  • 0
    Одно примечание: <marker> всегда соответствует элементу.
  • 0
    Что вы подразумеваете под «явным вызовом этих атрибутов»? Можете ли вы показать нам, что вы в настоящее время делаете (что будет работать) и какой синтаксис вы хотели бы использовать вместо этого?
Показать ещё 1 комментарий
Теги:

1 ответ

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.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню