Attribute von Elementen auslesen mit XPath

Steffilein

Mitglied
Hi,
ich bin völlig neu in Java und bin grad dabei aus einer XML-Datei die Attribut-Werte der Elemente auszulesen.
An und für sich ist das kein Problem. Die Werte werden ausgelesen und in folgender Form auf der Konsole ausgeben:
X1
X2
X3
X4
Y1
Y2
Y3
Y4

Alles schön und gut, aber ich hätte es gern in der Form:
X1 | Y1
X2 | Y2
X3 | Y3
X4 | Y4
usw... und genau da liegt das Problem

Mein Code sieht folgendermaßen aus:
Java:
public class XPathDemo
{
	public static void main( String[] args ) throws Exception
	  {
		String filename  = "Krankenhaus.xml";
	    Document doc = new SAXBuilder().build( filename );
	    int i=1;
	    

	    List<?> id = XPath.selectNodes( doc, "/krankenhaus/patienten/patient/@ID" );    
	    for ( Object object : id ) 
	    {
	      Attribute attribute = (Attribute) object;
	      System.out.print( attribute.getValue() + " | "  );
	      Object name = XPath.selectSingleNode( doc, "/krankenhaus/patienten/patient[i]/@name" );
	      System.out.println( ((Attribute) name).getValue() );	 
	      i++;
	    }

	  }
	}

Meldung in der Konsole:P0001 | Exception in thread "main" java.lang.NullPointerException
at XPathDemo.main(XPathDemo.java:25)


ich denke, dass Problem liegt sicherlich in der Laufvariable i. Ich hab aber keine Ahnung wie ich dem Programm verständlcih machen soll, dass es immer den Namen vom i. Patienten ausgeben soll...

Falls es jemand test möchte, hier noch kurz der XML-Code
[XML]<krankenhaus>
<patienten>
<patient ID= "P0001" name= "Hans Mueller" />
<patient ID= "P0002" name= "Kira Baum" />
<patient ID= "P0003" name= "Anne Nothaft"/>
<patient ID= "P0004" name= "Christian Graf" />
</patienten>
</krankenhaus>[/XML]

ICh sag schonmal vielen Dank für euere Hilfe :)

LG, Steffi
 

eRaaaa

Top Contributor
Also meine erste Frage wäre, wieso du zwei XPath-Ausdrücke benutzen möchtest? In deinem Fall würde ja ein Selektieren von allen Attributen ausreichen oder?
Ansonsten würde ich auch allgemein hier eher zur normalen for-Schleife tendieren:

Java:
		List<?> id = XPath.selectNodes(doc, "/krankenhaus/patienten/patient/@*");
		for (int j = 0; j < id.size(); j+=2) {
			System.out.println(((Attribute)id.get(j)).getValue() + " | " + ((Attribute)id.get(j+1)).getValue());
		}

oder du selektierst eben die Elemente (hier könntest du auch wieder die for-each nehmen evtl.)
Java:
		List<?> id = XPath.selectNodes(doc, "/krankenhaus/patienten/patient");
		for (int j = 0; j < id.size(); j++) {
			Element e = (Element) id.get(j);
			System.out.println(e.getAttributeValue("ID")+" | "+e.getAttributeValue("name"));
		}
 

Steffilein

Mitglied
Vielen Dank für die schnelle Hilfe, ich werde das gleich mal ausprobieren...

Und zu deiner Frage, wieso ich 2 XPath-Ausdrücke benutzen möchte... Weil ich im Moment noch nicht den Durchblick habe, und grad erst dabei bin, dass zu verstehen ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Wie kann ich Namespace Attribute in den Elementen entfernen? XML & JSON 2
iman XML Attribute mit JAVA einlesen mit Spring Batch XML & JSON 0
L Transformer verschluckt Attribute bei der Ausgabe XML & JSON 3
W XML einlesen und Attribute auslesen XML & JSON 1
D Attribute aus XML Auslesen XML & JSON 5
P Xpath zugriff auf Attribute XML & JSON 3
R cvc-complex-type.3.2.2: Attribute 'uuid' is not allowed to appear in element 'jasperReport'. XML & JSON 4
C JAXB: XML-Elemente einlesen und als XML-Attribute ausgeben XML & JSON 7
F EMF, XSD to ECore mapping, Attribute vs. Element XML & JSON 2
A XML-Attribute vergleichen XML & JSON 4
Helgon MalformedByteSequenceException und null JDOM Attribute XML & JSON 5
G JAXB XML-Attribute feststellen XML & JSON 4
2 wie komme ich an die Attribute XML & JSON 3
B 2 Attribute in einer xsl XML & JSON 2
M Gegenseitig ausschließende Attribute definieren in XSD XML & JSON 7
C DOM: Attribute nicht in alphabetischer Reihenfolge schreiben XML & JSON 3
eQuest XML Jaxen Attribute auslesen XML & JSON 2
C Mit SAX Parser XML Attribute auswerten XML & JSON 3
H XML Attribute auslesen XML & JSON 5
S JAXB und viele verschachtelte Attribute XML & JSON 1
G xquery - nodes unterscheiden sich nur durch attribute :-( XML & JSON 4
L Objekt Serialisierung: Schreiben aller Attribute erzwingen XML & JSON 5
E EMF Modell um alle möglichen Attribute auszulesen XML & JSON 12
S XSD: restriction und attribute gleichzeitig XML & JSON 4
V XMLEncoder: Attribute nicht serialisieren XML & JSON 2
M Attribute parsen XML & JSON 6
D JDOM erzeugt leere xmlns Attribute XML & JSON 4
B jdom outputter ohne attribute XML & JSON 2
G Wie Attribute aus XML in ein Model schreiben (StAX)? XML & JSON 7
P Knoten-Attribute einer xsd-Datei in einem JTree auslesen XML & JSON 18
M attribute funken nicht XML & JSON 3
R Jtree + Attribute XML & JSON 6
Z DOM: Attribute in Knoten schreiben XML & JSON 2
G xslt Attributwerte von bestimmten Elementen XML & JSON 2
G Whitespaces zwischen den Elementen entfernen XML & JSON 14
G jaxb Vector (oder ähnliches) von Elementen generieren XML & JSON 6
N jdom problem beim lesen von child elementen XML & JSON 5
T XML-Parsing: Whitespace zw. Elementen wird nicht ignoriert XML & JSON 4
G Frage zu erreichen von Elementen XML & JSON 3
R JAVA und DOM, probleme beim einfügen von elementen ?????? XML & JSON 6
L JSON auslesen und Labels in GUI verwenden XML & JSON 13
M json page 2 auslesen XML & JSON 1
J Auslesen der Länge einer XML-Datei in Android Studio XML & JSON 8
Kanda Sorata Eingabefelder von Excel Dateien auslesen XML & JSON 1
K XML vernünftig auslesen XML & JSON 9
K XML Datei erstellen und Daten daraus in Java auslesen XML & JSON 6
H SOAPBody auslesen XML & JSON 0
B XML auslesen, benötige Hilfe XML & JSON 13
I Liste in YAML Datei speichern und wieder auslesen XML & JSON 1
A Leeres Array beim Auslesen von XML-Datei XML & JSON 4
M Json auslesen XML & JSON 7
K XML Auslesen, wie abspeichern? XML & JSON 32
W Kindelemente mit JDOM eines bestimmten Attributes auslesen XML & JSON 6
R Apache POI: Gezieltes Auslesen von Zellen XML & JSON 2
S XMl auslesen:@ output ? XML & JSON 1
Z Verschachtelte XML auslesen XML & JSON 3
C JDOM: Value ohne Unterelemente auslesen XML & JSON 1
C XPath: Alle Kinder in einer Schleife auslesen XML & JSON 2
I XML IDs auslesen, erst X dann Y XML & JSON 2
S XML - rekursives auslesen - Zeilenumbruch als NodeValue? XML & JSON 3
O XML richtig auslesen XML & JSON 7
Kenan89 XML Tag-ID auslesen mit getElementById XML & JSON 2
J Excel zeilenweise auslesen - POI XML & JSON 5
J Excel Zellen auslesen - automatischer Stopp bei leerer Zelle XML & JSON 2
I XPath Namensräume und auslesen einzelner Knoten XML & JSON 3
S SVG auslesen und darstellen XML & JSON 5
G xpath: in Kindelement zwei Attribut-Werte auslesen XML & JSON 2
G xpath: Inhalt eines Kindelements auslesen XML & JSON 2
1 Html tabelle auslesen??? XML & JSON 6
JanUlrich Tabelle auslesen XML & JSON 2
A XSl mit JDom auslesen XML & JSON 1
J Anzahl der Elemente in einem XML-Dokument auslesen XML & JSON 7
K XMl auslesen XML & JSON 19
P Poi /XSSF : Excel-Tabelle auslesen XML & JSON 2
S XSD-Datei zulässige Werte auslesen XML & JSON 3
D rss auslesen XML & JSON 2
M Große Datei auslesen/in dieser suchen XML & JSON 2
M RSS-Datei auslesen von Yahoo Webservice XML & JSON 4
N Google Wetter XML (nur current_condition) auslesen mit Java XML & JSON 15
J Dateinamen beim Start auslesen XML & JSON 8
E XML Datei mit DOM auslesen (Text mit Attributen) XML & JSON 2
P jdom XML-Encoding auslesen XML & JSON 12
Nicer Bestimmten Wert aus einer XML Auslesen XML & JSON 34
L XML Daten auslesen und in Tabelle (Array) speichern XML & JSON 1
L XML Dokument auslesen funktioniert nicht richtig XML & JSON 2
C Attributwert aus XML auslesen XML & JSON 10
H XML String auslesen XML & JSON 4
E XML Knoten mit rekursiver Methode auslesen XML & JSON 3
S Dom Baum auslesen XML & JSON 12
J Properties auslesen (Jar) XML & JSON 1
S auslesen XML & JSON 9
Z XML auslesen, Elemente daraus entfernen und als neue XML zurückgeben XML & JSON 2
M XMI-Datei auslesen XML & JSON 4
T EXSD auslesen mit XPath und JDOM XML & JSON 8
M XML-Datum als Referenz auf Objekt-Variable auslesen XML & JSON 5
Spot84 xmi auslesen XML & JSON 20
G Welche Klassen zum erzeugen/auslesen eines XML Files verwend XML & JSON 9
G Xml File schematisch auslesen XML & JSON 2
P NullPointerException beim Auslesen XML & JSON 8
N XML-String in MIDP auslesen XML & JSON 3

Ähnliche Java Themen

Neue Themen


Oben