Avatar billede krukken Juniormester
28. november 2005 - 18:29 Der er 7 kommentarer og
1 løsning

Læsning af værdier fra XML-fil.

Jeg vil gerne have læst følgende fra en fil - og have det udskrevet - hvordan går jeg det i Java?

<?xml version="1.0"?>
<Root>
<var1>Temp1</var1>
<var2>Temp2</var2>
</Root>
Avatar billede mikkelbm Nybegynder
28. november 2005 - 18:50 #1
Arne har skrevet nogle ganske glimrende artikler om det:

http://eksperten.dk/artikler/100

http://eksperten.dk/artikler/245
Avatar billede krukken Juniormester
28. november 2005 - 18:57 #2
Jeps - det har jeg læst. Men der står ikke beskrevet hvordan man trækker en to værdier ud på denne måde. Det må være muligt at hardkode "var1" og "var2", så selve kode bliver meget meget simpel.
Avatar billede zonic Nybegynder
28. november 2005 - 19:09 #3
Følgende kode brude skrive indholdet af var1 ud

try {
    javax.xml.parsers.DocumentBuilder documentBuilder = javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();
    org.w3c.dom.Document document = documentBuilder.parse("fil.xml");
    System.out.println(document.getDocumentElement().getElementsByTagName("var1").item(0).getTextContent());
}
catch (Exception e) { e.printStackTrace(); }

Den kan virke en anelse uoverskuelig, men den metode du skal have fat i er getElementsByTagName(String name) der returnerer en NodeList som resultat. Så er det blot at søge NodeListen igennem, eller vælge den første (item(0)) hvis man kun ønsker et svar.
Avatar billede mwl Nybegynder
28. november 2005 - 19:12 #4
Sorry, forkert konto, men jeg er også zonic ;)
Avatar billede simonvalter Praktikant
28. november 2005 - 21:01 #5
krukken > med sax så gør den det i arnes kode at hver gang den møder characters, så appender den dem til en StringBuffer. Du man f.eks styre hvor du er med boolean flags i start og end tag. så hvis du checker efter "var1" i start tag og sætter inVar1 = true
så kan du i characters metoden teste om du er inVar1, hvis det er tilfældet så kan du printe det.. eller f.eks sætte det på et objekt du har oprettet under parsing som du så retunerer.
Avatar billede krukken Juniormester
29. november 2005 - 12:20 #6
zonic > ligger du et svar?
Avatar billede mwl Nybegynder
29. november 2005 - 14:00 #7
Det kan du tro. Her er svaret :)
Avatar billede arne_v Ekspert
29. november 2005 - 23:57 #8
Hvis du har en meget uptodate XML implementtaion så er XPath nok det som
giver den pæneste kode
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester