T
thomas1980
Gast
Hallo, ich habe ein Problem mit der XPath-Abfrage einer XML-Datei.
Für die Abfrage habe ich folgenden JavaCode geschrieben, von dem ich hier nur den wichtigsten Teil darstelle:
Dazu soll folgende XML-Datei ausgelesen werden, die ich auch etwas verkürzt angebe:
Das Ergebnis lautet dann:
Test:xy
Wenn ich nun die obige Afrage ändere auf:
gibt mit das Programm keine Ausgabe zurück. Warum??? Normalerweise müsste mir mit dem Ausdruck ...position() = 2... eigentlich doch der Vorname "egal" ausgegeben werden, oder?
Grüße
thomas
[/code]
Für die Abfrage habe ich folgenden JavaCode geschrieben, von dem ich hier nur den wichtigsten Teil darstelle:
Code:
builder = factory.newDocumentBuilder();
document = builder.parse( new File("NewFile.xml") );
XPathFactory xfactory = XPathFactory.newInstance();
XPath xpath = xfactory.newXPath();
XPathExpression expr = xpath.compile("/Kunden/Kunde/Vorname[1]/text()");
Object result = expr.evaluate(document, XPathConstants.STRING);
String s1 = result.toString();
System.out.println("Test:" + s1);
Dazu soll folgende XML-Datei ausgelesen werden, die ich auch etwas verkürzt angebe:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<Kunden>
<Kunde ID="1">
<Vorname>xy</Vorname>
<Nachname> xy</Nachname>
</Kunde>
<Kunde ID="2">
<Vorname>egal</Vorname>
<Nachname>egal</Nachname>
</Kunde>
Das Ergebnis lautet dann:
Test:xy
Wenn ich nun die obige Afrage ändere auf:
Code:
XPathExpression expr = xpath.compile("/Kunden/Kunde/Vorname[2]/text()");
gibt mit das Programm keine Ausgabe zurück. Warum??? Normalerweise müsste mir mit dem Ausdruck ...position() = 2... eigentlich doch der Vorname "egal" ausgegeben werden, oder?
Grüße
thomas
[/code]