Xpath parser - możliwość dodania String'a do listy elementów

Xpath parser - możliwość dodania String'a do listy elementów
SW
  • Rejestracja:ponad 9 lat
  • Ostatnio:około 7 lat
  • Postów:30
0

Witam
Jestem osobą początkującą dlatego z góry przepraszam jeśli pytanie jest błahe ;)
Otóż mam aplikacje, która parsuje dokument XML.
Problem leży w sposobie ich wyświetlania. Chciałbym żeby przed każdym elementem był wyświetlony string.

Kopiuj
private List<String> getAllPatients(Document doc, XPath xpath) {
        List<String> list = new ArrayList<>();
        try {
            //create XPathExpression object
            XPathExpression expr =
                    xpath.compile("/deklaracjaWyboru/daneSwiadczeniobiorcy//daneOsobowePacjenta/imie//text() | //daneOsobowePacjenta/nazwisko//text() | //daneOsobowePacjenta/plec//text() | //daneOsobowePacjenta/nrPesel//text() | //daneUrodzenia/dataUrodzenia//text() | //daneUrodzenia/miejsceUrodzenia//text() | //adresZamieszkania/ulica//text() | //adresZamieszkania/nrDomu//text() | //adresZamieszkania/nrMieszkania//text() | //adresZamieszkania/miejscowosc//text() | //adresZamieszkania/kodPocztowy//text() | //daneKontaktowe/nrKomorkowy//text() | //daneKontaktowe/nrStacjonarny//text()");
            //evaluate expression result on XML document
            NodeList nodes = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);
            for (int i = 0; i < nodes.getLength(); i++)
                list.add(nodes.item(i).getNodeValue());
        } catch (XPathExpressionException e) {
            e.printStackTrace();
        }
        return list;
    }

Obecnie wypisywana jest lista tych elementów:

[Jan, Kowalski, Mężczyzna, 92010177881, 01.01.1992, Gdynia, Morski, 2, 3, Gdynia, 12-345, 123456789, 581234567]

Chciałbym żeby każdy element poprzedzał String, np.:

[Imię: Jan,
Nazwisko: Kowalski,
Płeć: Mężczyzna itd.]

Bardzo proszę o jakieś wskazówki
Z góry dziękuje.

edytowany 1x, ostatnio: Swierzak_
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Nie wiem jak inni ale ja nie rozumiem o co ci chodzi. Możesz pokazać standardowy bug report:

  • co robisz (to pokazałeś)
  • co uzyskujesz (tego brakuje)
  • co chciałbyś uzyskać (tego brakuje)

"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
SW
Edytowałem post :)
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Ok no to zamiast po prostu nodes.item(i).getNodeValue() to wyciągnij sobie jakieś node name czy tam node name parenta (bo nie chce mi sie testować na jakim levelu w drzewie tu jesteś). Zamiast zadawać pytania na forum i czekać na odpowiedź to byś po prostu dał breakpointa w tej pętli i zobaczył jak się tam dobrać do tej wartości która cię interesuje...


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
SW
  • Rejestracja:ponad 9 lat
  • Ostatnio:około 7 lat
  • Postów:30
0

Dziękuję za pomoc. Nie udało mi się jeszcze osiągnąć zamierzonego efektu, ale będę kombinował :) dzięki raz jeszcze :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.