Avatar billede grave Nybegynder
16. oktober 2001 - 19:05 Der er 9 kommentarer og
2 løsninger

XML parse

Hvordan kan jeg så simpelt som muligt få lagt text1 og text2 i en String variable
det skal lige siges jeg er line nu.... gået i gang med xml så.
<text>
  <text1>
      her er text1
  </text1>
  <text2>
      her er text2
  </text2>
</text>
Avatar billede grave Nybegynder
16. oktober 2001 - 19:11 #1
hov.. det skal selvfølgelig lige siges at xml\'en ligger i en fil
Avatar billede kresten Nybegynder
16. oktober 2001 - 19:38 #2
Ligge det i en string... eh, hvilket sprog bruger du? Java, ASP, XSL eller noget andet???
Avatar billede grave Nybegynder
16. oktober 2001 - 19:42 #3
ehhh. java selvfølgelig ...
Avatar billede logical Nybegynder
16. oktober 2001 - 20:03 #4
Og i hvilken form har du din src, som fil?
Avatar billede davsclaus Nybegynder
16. oktober 2001 - 22:07 #5
I programmeringssprog kan du arbejde med XML på 2 måder:
- DOM
- SAX

Begge to er et API opmod XML standarden. De har hver sine fordele/ulemper.
SAX er event baseret så du vil få et event for hver element i XML træet, og
så kan du se om element navnet er text1 eller text2 og hvis ja, så huske på
indholdet, og til sidste når SAX\'en er færdig har du de to værdier.

I DOM derimod har du hele XML indlæst som et træstruktur. Her kan du så
søge efter element som hedder text1 eller text2 og så aflæse dens værdi.

Begynd at kikke på XML parserne (SAX og DOM)

se evt her: http://xml.apache.org/
http://java.sun.com/xml/index.html
Avatar billede grave Nybegynder
17. oktober 2001 - 10:02 #6
>>logical<<
spørgsmål ikke forstået..
Avatar billede kresten Nybegynder
17. oktober 2001 - 12:07 #7

Det du skal gøre er at bruge det DOM object din XML parser har og så sige noget i stil med

String sammenLagtStr = myDOM.getElement(\"text1\") + myDOM.getElement(\"text1\");

Det er lidt svært at forklare hvis du ikke fortæller hvilken parser du har. Det kommer også an på om du bruger SAX som davsclaus er inde på.
Avatar billede henryvest Nybegynder
17. oktober 2001 - 13:54 #8
Kig på JDOM (www.jdom.org). JDOM er noget lettere at have med at gøre end DOM.
Avatar billede grave Nybegynder
17. oktober 2001 - 23:06 #9
jeg har bruget JDOM og lave (seudo):

Element root = doc.getRootElement();
String text1 = root.getChildText(\"text1\");
String text2 = root.getChildText(\"text2\");

men har så lavet xml filen om så jeg bruger attributes i stedet.

i må dele den :)
Avatar billede grave Nybegynder
17. oktober 2001 - 23:14 #10
foresten......
hvis jeg har en eks:
<text>
  <text1>
      her er linie 1
      her er linie 2
      her er linie 3
  </text1>
</text>

hvordan kan jeg trimme den smartest ?
kan jeg læse hver linie ind i et String[] object eller er der en smartere måde at gøre det på..
jeg har kigget api\'erne igennem uden at kunne se nogen metoder der kan bruges..

er villig til at oprette et nyt spørgsmål for svaret !!!
Avatar billede grave Nybegynder
17. oktober 2001 - 23:37 #11
oup...
har brugt en StringTokenizer
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