用于枚举每个元素的属性及其值的简单代码[XML]

时间:2009-04-29 21:54:13

标签: xml

我是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);

如果(node.nodeType == 3),浏览器会显示“Object required”。 如果(node.nodeType == 2)代码列出了某些内容但没有列出属性。

2 个答案:

答案 0 :(得分:3)

试试这个:

for (var i = 0; i < element.attributes.length; i++)
{
   var att = element.attributes[i];
   document.write(att.nodeName) + "=" + att.nodeValue + "<br/>");
}

答案 1 :(得分:0)

尝试

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

其中id是属性名称。

或者

node.attributes[0].nodeValue