dom nodes vs. elements?

Status
Nicht offen für weitere Antworten.
M

mk

Gast
hi,
ich würde gerne eine xml datei traversieren und bei jedem element eine methode aufrufen. diese benötigt als parameter:

- den elementnamen (String)
- ggf den attributnamen (String)
- ggf. den pcdata inhalt (String)

soweit der plan. zum parsen der xml datei schien mir dom das richtige zu sein, also hab ich es so probiert:

Code:
public static void main( String[] args )
{
	try
	{
	Document d = DocumentBuilderFactory
			.newInstance()
			.newDocumentBuilder()
			.parse(new File( "test1.xml" ));
        readDoc( d );
}
...


static void readDoc( Document doc )
{
        Element e = doc.getDocumentElement();
        System.out.println(e.getNodeName()); //Ausgabe: elem1
	// geht nicht: 
	// Element child = (Element) e.getFirstChild();
        Node child = e.getFirstChild();
        System.out.println(child.getNodeName()); //Ausgabe: #text
}
das klappt leider nicht... :(

warum bekomme ich bei n.getNodeName() nicht den Namen des Knotens?
und wo genau liegt der unterschied zwischen Element und Node?

danke schonmal!
 

clemson

Bekanntes Mitglied
ich würde dir JDOM empfehlen. ist ziemlich einfach und intuitiv verwendbar...

Code:
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build( new File("test1.xml") );

Element root = doc.getRootElement();
System.out.println( root.getName() );
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben