7. Februar 2012  
  Suche:
 
  Basics
  Code-Galerie
  Forum
  FAQ
  Tipps & Tricks
  Literatur
  Knowledge Base
  Workshops
  JSP-Hosting
  JSP-Engines
  Jobbörse
  Links
  JSP-Sites
  Newsletter
  JSP-Test
  Impressum
  Username:
  
  Passwort:
  
  

  Jetzt registrieren
  Warum registrieren?

  Valid HTML 4.01!
  Valid CSS!

xml-Datei lesen

von antonrechenauer,  27.05.2004 09:11:42   [vote]
Um eine einfache XML-Datei der folgenden Form

<?xml version="1.0" encoding="UTF-8"?>
<pupils>
<pupil>
  <name>Carl</name>
  <form>8</form>
  <profile>Mat-Nat</profile>
</pupil>
<pupil>
  <name>Jule</name>
  <form>8</form>
  <profile>Spr</profile>
</pupil>
<pupil>
  <name>Sepp</name>
  <form>18</form>
  <profile>JavaEntwickler</profile>
</pupil>
</pupils>

in eine Liste von Java-Objekten zu verwandeln, kann man den Jakarta Commons Digester benutzen. Hier mal nur schnell ein sehr einfaches Beispiel.

Zuerst braucht man eine JavaBean (hier Pupil), die mit den Daten gefüllt werden soll, Danach benutzt man den Digester, um eine Liste zu erhalten. Das ist alles sehr simpel, aber das Tool
kann natürlich viel mehr (Regeln, "UnterObjekte", usw.)

siehe dazu http://jakarta.apache.org/commons/digester/

package examples.anton;

public class Pupil
{
    public Pupil()
    {
    }

    private String name;
   
    private String form;
   
    private String profile;
   
    public java.lang.String getName()
    {
        return name;
    }
   
    public void setName(java.lang.String name)
    {
        this.name = name;
    }
   
    public java.lang.String getForm()
    {
        return form;
    }
   
    public void setForm(java.lang.String form)
    {
        this.form = form;
    }
   
    public java.lang.String getProfile()
    {
        return profile;
    }
   
    public void setProfile(java.lang.String profile)
    {
        this.profile = profile;
    }
   
    public String toString()
    {
        return "{name="+name+", form="+form+", profile="+profile+"}";
    }
   
}

====================================

package examples.anton;

import org.apache.commons.digester.*;

class Leser
{
    java.util.List pupils = new java.util.ArrayList();

    public java.util.List fuellen() throws java.io.IOException, org.xml.sax.SAXException
    {
        Digester digester = new Digester();
        digester.setValidating(false);
        digester.push(this);
        digester.addObjectCreate("pupils/pupil",Pupil.class);
        digester.addBeanPropertySetter("pupils/pupil/name", "name");
        digester.addBeanPropertySetter("pupils/pupil/form", "form");
        digester.addBeanPropertySetter("pupils/pupil/profile", "profile");               
        digester.addSetNext("pupils/pupil","addPupil");
        digester.parse(Leser.class.getResourceAsStream("xmldatei.xml"));
        return pupils;
    }
   
    public void addPupil(Pupil next)
    {
        this.pupils.add(next);
    }
   
}

public class LesenMitDigester
{
    public static void main(String[] args) throws Exception
    {
        java.util.List ergebnis = (new Leser()).fuellen();
        System.out.println(ergebnis);
    }
}


<< zurück


Hinweis: Auf dieser Seite liegen Links zu anderen Seiten im Internet. Für alle diese Links gilt: Wir betonen ausdrücklich, daß wir keinerlei Einfluß auf die Gestaltung und die Inhalte der gelinkten Seiten haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf dieser Homepage und machen uns ihre Inhalte nicht zueigen. Diese Erklärung gilt für alle auf unserer Homepage angebrachten Links

Redaktion/Betreiber von JSP-Develop übernehmen keinerlei Gewährleistung und Verantwortung für die Richtig- und/oder Vollständigkeit von den auf den Webseiten JSP-Develop veröffentlichten Source Codes. Die Verantwortung der Verwendung/Anwendung sowie etwaige Modifikation der hier veröffentlichten Sourcen obliegt einzig dem Benutzer der Webseite, welche die veröffentlichten Sourcen in einer Applikation/Anwendung einsetzt. Durch das Kopieren und/oder Benutzen der Sourcen in einer Applikation/Anwendung bzw. etwaigen Abschriften wird dieser Rechtshinweis anerkannt.

Java, JSP, JavaServer Pages, J2EE, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries. IBM, WebSphere are trademarks or registered trademarks of International Business Machines Corporation. Other trademarks and registered trademarks are the property of their respective owners.