2009-04-29 14 views
1

私はJS/XMLの初心者です。各要素の属性とその値を列挙する簡単なコード[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)。 (node.nodeType == 2)の場合、コードには属性が表示されますが、属性は表示されません。

答えて

3

これを試してみてください:

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

は、idは、属性名である

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

を試してみてください。

それとも

node.attributes[0].nodeValue 
+0

こんにちはフィル。 (node.nodeType == 2)の場合、コードには属性が表示されますが、属性は表示されません。 – Ampere

+0

> idは属性名 また、属性の名前はわかりませんが、属性はさまざまです。 – Ampere

関連する問題