2009-04-29 1 views
1

Ich bin ein absoluter Anfänger in JS/XML.Einfacher Code zum Aufzählen von Attributen und deren Werte für jedes Element [XML]

Ich habe diesen einfachen Code, der erweitert werden muss, um auf dem Bildschirm Attribute und ihre Werte für jedes Element einer XML-Datei aufzulisten.

 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 + "]"); 
      } 
     } 

Ich denke, ich sollte node.attributes verwenden, aber ich weiß nicht genau wie. Ich weiß nicht, Name des Attributs.

Das funktioniert auch nicht:

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

Der Browser sagt: "Objekt erforderlich" if (node.nodeType == 3). Wenn (node.nodeType == 2) der Code listet etwas, aber nicht die Attribute.

Antwort

3

Try this:

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

Versuchen

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

Wo id der Attributname ist.

Oder

node.attributes[0].nodeValue 
+0

Hallo Phil. Für (node.nodeType == 2) listet der Code etwas auf, aber nicht die Attribute. – Ampere

+0

> ID ist der Attributname Auch ich kenne den Namen des Attributs nicht - es kann variieren. – Ampere