Unbekannte Attribute auslesen?

Moin,

Ich habe ein Problem, ich versuche grade für mich eine XML-Libary zu schreiben, die den Umgang mit XML-Datein vereinfachen soll.
Das Problem ist folgendes:
Ich bin dabei eine XMLReader-Klasse zu schreiben, welche die XML-Datei ausliest und eine List an selbst erstellten Klassen zurückliefert, allerdings habe ich Probleme an die Attribute der Nodes heranzukommen.

Normalerweise würde ich es so machen:

        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
	DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
	Document doc = docBuilder.parse(file);
        NodeList list = doc.getChildNodes();

        for(int i = 0; i < list.getLength(); i++) {
            Element rootNode = (Element) list.item(i);
            String value = rootNode.getAttribute("name");
        }

Wie komme ich nun aber an den Attributsnamen und danach an den Wert, wenn ich den Namen des Attributes nicht kenne?
Habe mir auch schonmal NamedNodeMap angeschaut, die ich bekommen würde wenn ich folgendes mache:
NamedNodeMap nnm = rootNode.getAttributes();
Aber das bringt mich auch irgendwie nicht weiter :frowning:

Hat jemand evtl. ne Lösung für das Problem (am besten eine DOM Lösung), ich komm ums verrecken nicht weiter…

für was hältst du denn die NamedNodeMap, hast du dir angeschaut, was man damit machen kann?
http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/NamedNodeMap.html

length-Methode da, Zugriff per Index, damit kannst du dir doch alle Nodes der Reihe nach herausholen,
und ich schätze getNodeName() oder ähnliches wird dann der Name des Attributs sein, an Value kommt man natürlich auch ran, spätestens per ‘rootNode.getAttribute()’

oder ‘im ganzen Satz’ anscheinend:

(Suche war mehr oder weniger ähnlich formliert, noch mit ‘output’ usw. hantiert)

-.- sorry, da hatte ich wohl Tomaten auf den Augen

du läßt mich im Glanze dastehen, insofern nix gegen solche Themen :wink: :wink:

Eine Sache muss ich aber verbessern,

Es ist nicht getNodeName() sonder nur getName() :slight_smile:

Ok, grad gesehen, geht beides, hatte beim Test mit getNodeName() nen fehler :frowning: