Avatar billede itckongen Nybegynder
24. november 2002 - 20:55 Der er 1 kommentar og
2 løsninger

XML & Java

Hej Eksperter

Kan i ik smide et par links der beskriver hvordan jeg henter data fra en XML database via Java.

jeg har fks

<forkortelser>

<title> Forkortelses Databasen </title>

<db> IP="Internet Protocol"</db>

</forkortelser>

Nu vil jeg gerne via Java hente Internet Protocol når jeg skriver IP.

Har i et link der beskriver hvordan man henter informationer med Java fra en XML database.

/Kongen
Avatar billede bearhugx Nybegynder
25. november 2002 - 09:24 #1
Hejsa kongen...

Jeg vil lige kommentere på din håndtering af XML'en - Det med at have både forkortelsen _og_ betydningen i samme tag gør ikke dit arbejde særligt nemt - faktisk bliver du nu nødt til at gennemsøge alle DB-tags, trække alt foran '=' ud og teste på, om det er dit søgekriterie...

din db ville være mere fleksible hvis du gjorde følgende :

<?xml version="1.0"?>
<forkortelsesdb>
  <post>
    <forkortelse>IP</forkortelse>
    <betydning>Internet Protocol</betydning>
  </post>
  <post>
    <forkortelse>ADSL</forkortelse>
    <betydning>Asynchronous Digital Subscriber Line</betydning>
  </post>
</forkortelsesdb>



For at finde den bestemte post, vil jeg foreslå, at du kigger på www.jdom.org

Jeg har ikke lige et eksempel her (på arbejdet) - men JDom er ret nem at bruge til at gennemgå XMLen med

/Søren Munk Skrøder
Avatar billede arne_v Ekspert
25. november 2002 - 09:56 #2
Jeg vil anbefale standard XML interface, så man frit
kan vælge mellem implementeringer.

Eksempel:

import javax.xml.parsers.*;
import org.w3c.dom.*;

public class TestXML {
  public static void parse() throws Exception {
      Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse("TestXML.xml");
      NodeList entries = doc.getElementsByTagName("entry");
      for(int i = 0; i < entries.getLength(); i++) {
        Node entry = entries.item(i);
        NamedNodeMap attribs = entry.getAttributes();
        String abbr = attribs.getNamedItem("abbr").getNodeValue();
        String full = attribs.getNamedItem("full").getNodeValue();
        System.out.println(abbr + " = " + full);
      }   
  }
  public static void main(String[] args) throws Exception {
      parse();
  }
}

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<entries>
    <entry abbr="XML" full="eXtended Markup Language"/>
    <entry abbr="PC" full="Personal Computer"/>
</entries>
Avatar billede itckongen Nybegynder
26. november 2002 - 12:22 #3
Det var godt nok meget i har skrevet, jeg havde bare regnet med et link :)
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