Простой код для перечисления атрибутов и их значений для каждого элемента [XML] - PullRequest
1 голос
/ 30 апреля 2009

Я абсолютный новичок в JS / XML.

У меня есть этот простой код, который необходимо расширить для перечисления на экране атрибутов и их значений для каждого элемента XML-файла.

      function printElement(indent, node) 
      {
         var i;
         if (node.nodeType == 3) 
          {
              document.write("<br />" +indent + node.nodeValue);
          }
         else 
          {  document.write("<br />" +indent + "[" + node.nodeName + "]");
             for (i = 0; i < node.childNodes.length; i++) 
               {
                  printElement(indent+tab, node.childNodes[i]);
               }
             document.write("<br />" +indent + "[/" + node.nodeName + "]");
          }
      }

Я думаю, что я должен использовать node.attributes, но я не знаю точно, как. Я не знаю имени атрибута.

Это также не работает:

document.write("<br />" +indent + node.attributes[0].nodeValue);

Браузер говорит «Требуется объект» if (node.nodeType == 3). Если (node.nodeType == 2) код перечисляет что-то, но не атрибуты.

Ответы [ 2 ]

3 голосов
/ 01 мая 2009

Попробуйте это:

for (var i = 0; i < element.attributes.length; i++)
{
   var att = element.attributes[i];
   document.write(att.nodeName) + "=" + att.nodeValue + "<br/>");
}
0 голосов
/ 30 апреля 2009

Попробуйте

node.attributes.getNamedItem("id").nodeValue

Где id - это имя атрибута.

Или

node.attributes[0].nodeValue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...