Avatar billede bris Nybegynder
21. maj 2003 - 10:51 Der er 6 kommentarer

JDOM - Gennemløb?

hejsa! Jeg har et forholdsvis stort xml-dokument, som jeg gerne vil gennemløbe, og et lille udsnit af det kan ses her:

<database>
  <kunde>
    <id>1</id>
    <code>12</code>
    <phone>123</phone>
  </kunde>
</database>

På den måde fortsætter det bare.. Men jeg synes ikke jeg kan få nogen af JDOMs værktøjer til at få mig til at gennemløbe hele xml-dokumentet.. Hvordan gør jeg det?
Avatar billede magoo20000 Nybegynder
21. maj 2003 - 11:38 #1
Avatar billede bris Nybegynder
21. maj 2003 - 11:55 #2
Ja, det er faktisk der jeg har fået inspiration fra :) Men problemet er, at jeg skal ind og kigge på de forskellige noder i træet.. dvs at jeg skal bruge getRoot(), og getChildren() osv.. Og så var det at spørgsmålet var, om der var en let måde til det?
Avatar billede magoo20000 Nybegynder
21. maj 2003 - 12:02 #3
Det kan du jo se i APIen over JDom: http://www.jdom.org/docs/apidocs/org/jdom/Element.html
Avatar billede magoo20000 Nybegynder
21. maj 2003 - 12:06 #4
Eksempel på getChildren er her: http://www.javaworld.com/javaworld/jw-07-2000/jw-0728-jdom2-p3.html

JDOM er et projekt se http://www.dom.org/. JDOM er
faktisk nemere at arbejde med end W3C DOM men er ikke så
standardiseret.
Avatar billede magoo20000 Nybegynder
21. maj 2003 - 12:15 #5
Ellers er det en glimrende artikel om JDom på http://www.fawcette.com/xmlmag/2002_03/magazine/columns/collaboration/kjones/default.asp - den giver efter min mening et godt overblik (og der er kodet eksempler)
Avatar billede arne_v Ekspert
21. maj 2003 - 12:59 #6
Heg vil tro at Magoos links forklarer det men eller er her
et primitivt eksempel som skriver alle ID'erne ud:

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.adapters.DOMAdapter;
import org.jdom.adapters.XercesDOMAdapter;
import org.jdom.input.DOMBuilder;

public class ListElement {
    public static void main(String[] args) {
        try {
            DOMAdapter adapt = new XercesDOMAdapter();
            org.w3c.dom.Document w3cdoc = adapt.getDocument(new FileInputStream("C:\\test.xml"), false);
            DOMBuilder build = new DOMBuilder();
            Document doc = build.build(w3cdoc);
            List list = doc.getRootElement().getChildren();
            for(int i = 0; i < list.size(); i++) {
                Element elm = (Element)list.get(i);
                System.out.println(elm.getChild("id").getText());
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (JDOMException e) {
            e.printStackTrace();
        }
    }
}
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