java i XPath

0

Witam

Mam plik XML o następującej strutkurze

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <configuration> <set name="nazwa"> <databaseurl>dane</databaseurl> <databasename>dane</databasename> <username>dane</username> <password>dane</password> </set> <set name="nazwa"> <vatnumber>dane</vatnumber> <name>dane</name> <city>dane</city> <street>dane</street> <number>dane</number> <postalcode>dane</postalcode> </set> <set name="nazwa"> <id>dane</id> <name>dane</name> <city>dane</city> <street>dane</street> <number>dane</number> <postalcode>dane</postalcode> </set> </configuration>

a poniżej kod javy obsługujący tego xml'a

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("./Configuration.xml");

XPathFactory factory2 = XPathFactory.newInstance();
XPath xpath = factory2.newXPath();

NodeList list = (NodeList)xpath.evaluate("/configuration/set[@name='" + name + "']", document, XPathConstants.NODESET);

for (int i = 0; i < list.getLength(); i++)
{
System.out.println(list.item(i).getTextContent());
}

Wynik działania tego kodu jest taki że wyświetla mi wszystkie dane tekstowe z elementu 'set' o szukanym atrybucie 'name' w jednym węźle, np. danedanedanedane. Dlaczego tak się dzieje ?
Chciałbym żeby wyświelił listę pojedynczych węzłów tekstowych tak ja poniżej
dane
dane
dane
dane

Czy można tak zrobić? Proszę o pomoc. Z góry dzięki

Pozdrawiam

0

Dla zainteresowanych

wystarczyło w wyrażeniu XPath dodać tylko '/*' czyli

/configuration/set[@name='" + name + "']/*

i to tyle

pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1