einfach XML lesen

Diskutiere einfach XML lesen im XML und Co. Forum; Ich brauche einen möglichst einfachen Code mit dem man Daten aus XML-Dateien lesen kann. Ich habe bis jetzt versucht JDom zu benutzen, aber da...

  1. crsh
    crsh Neues Mitglied
    Ich brauche einen möglichst einfachen Code mit dem man Daten aus XML-Dateien lesen kann. Ich habe bis jetzt versucht JDom zu benutzen, aber da kommen nur irgendwelche Fehlermeldungen, und außerdem ist mir das zu umständlich. Es muss doch eine einfache und unkomplizierte Möglichkeit geben, Daten zu lesen und in Java-Variablen zu speichern.
     
  2. Vielleicht hilft dir diese Seite hier weiter (Klick!)
  3. mihe7
    mihe7 Bekanntes Mitglied
  4. Darano
    Darano Neues Mitglied
    Ja. XMLPullParserFactory und XMLPullParser sind sehr empfehlenswert. Total eas anzuwenden. Die API ist bei Android sogar im standard package.

    http://www.xmlpull.org/v1/doc/api/org/xmlpull/v1/package-summary.html

    Beispiel Code wie ich einen RSS-Feed von Apple parse:
    Show Spoiler
    Code (Java):

    public boolean parseXML(String xmlData) {
    boolean status = true;
    boolean inEntry = false;
    int eventType;
    String tagName = "";
    String tagValue = "";
    FeedEntry currentRecord = null;
    try {
    XmlPullParserFactory fac = XmlPullParserFactory.newInstance();
    fac.setNamespaceAware(true);
    XmlPullParser xpp = fac.newPullParser();
    xpp.setInput(new StringReader(xmlData));
    eventType = xpp.getEventType();
    while (eventType != XmlPullParser.END_DOCUMENT) {
    tagName = xpp.getName();
    switch (eventType) {
    case XmlPullParser.START_TAG:
    if ("entry".equalsIgnoreCase(tagName)) {
    inEntry = true;
    currentRecord = new FeedEntry();
    }
    break;
    case XmlPullParser.TEXT:
    tagValue = xpp.getText();
    break;
    case XmlPullParser.END_TAG:
    if (inEntry) {
    if ("title".equalsIgnoreCase(tagName)) {
    currentRecord.setTitle(tagValue);
    } else if ("summary".equalsIgnoreCase(tagName)) {
    currentRecord.setSummary(tagValue);
    } else if ("im:price".equalsIgnoreCase(tagName)) {
    currentRecord.setIm_price(tagValue);
    } else if ("rights".equalsIgnoreCase(tagName)) {
    currentRecord.setRights(tagValue);
    } else if ("entry".equalsIgnoreCase(tagName)) {
    entries.add(currentRecord);
    inEntry = false;
    }
    }
    break;
    }
    eventType = xpp.next();
    }
    } catch (XmlPullParserException e) {
    status = false;
    Log.e(TAG, "parseXML: Factory couldnt be instantiated: " + e.getMessage());
    } catch (IOException e) {
    status = false;
    Log.e(TAG, "parseXML: " + e.getMessage());
    }
    return status;
    }
     
     
  5. ProChris
    ProChris Mitglied
    Hallo Crsh,

    wenn es sich um kleinere XML Strukturen handelt, dann verwende ich gerne einen SAX Parser. Sobald die XML Strukturen komplexer werden, verwende ich JAXB.

    Viele Grüße

    ProChris
     
  6. Hinweis: Du möchtest Java lernen? Vielleicht hilft dir dieser Kurs hier weiter. Sichere dir hier den Zugriff auf umfangreiches Java-Know How und starte richtig durch!
Die Seite wird geladen...

einfach XML lesen - Ähnliche Themen

Einfache Verbindung zu Linux Server und Datei auslesen
Einfache Verbindung zu Linux Server und Datei auslesen im Forum Netzwerkprogrammierung
einfache Verzinsung mit for-Schleife & Ausschluss von Werten beim Einlesen
einfache Verzinsung mit for-Schleife & Ausschluss von Werten beim Einlesen im Forum Allgemeine Java-Themen
Werte aus einer HashMap auslesen, oder gehts auch einfacher ?
Werte aus einer HashMap auslesen, oder gehts auch einfacher ? im Forum Java Basics - Anfänger-Themen
Problem mit einfachem einlesen von zahlen/strings
Problem mit einfachem einlesen von zahlen/strings im Forum Java Basics - Anfänger-Themen
Einfaches XML Lesen und Schreiben
Einfaches XML Lesen und Schreiben im Forum XML und Co.
Thema: einfach XML lesen