dom nodes vs. elements?

  • Themenstarter Themenstarter mk
  • Beginndatum Beginndatum
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!
 
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.

Zurück
Oben