1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Sico, 28.02.2010 #1
    Sico

    Sico Threadstarter Fortgeschrittenes Mitglied

    Hallo,


    kennt jemand einen Codeschnippsel zum parsen einer XML Datei?

    Gruß

    Sico
     
  2. Shinigami, 28.02.2010 #2
    Shinigami

    Shinigami Fortgeschrittenes Mitglied

  3. SirMArtin, 28.02.2010 #3
    SirMArtin

    SirMArtin freier Samsungsupporter

    Mein kleiner XMLParser.
    Code:
    public class XMLParser {
    
      public static History parse(String xml) {
        try {
          InputStream xmlStream = new ByteArrayInputStream(xml.getBytes());
    
          DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
          Document doc = builder.parse(xmlStream);
    
          Element rootNode = doc.getDocumentElement();
    
          History h = new History();
          h.setTrackingId(rootNode.getAttribute(RestInterface.HISTORY_TRACKINGID));
          h.setLastChecked(parseDate(rootNode.getAttribute(RestInterface.HISTORY_LASTCHECKED), false));
          h.setDelivered(Boolean.parseBoolean(rootNode.getAttribute(RestInterface.HISTORY_DELIVERED)));
    
          NodeList events = rootNode.getElementsByTagName(RestInterface.EVENT);
          for (int i = 0; i < events.getLength(); i++) {
            Element event = (Element) events.item(i);
            Event e = new Event();
            h.addToEvents(e);
    
            e.setEventTime(parseDate(event.getAttribute(RestInterface.EVENT_EVENTTIME), true));
            e.setRecieveTime(parseDate(event.getAttribute(RestInterface.EVENT_RECIEVETIME), false));
    
          }
    
          return h;
        } catch (Exception e) {
          Log.e(Const.LOG_TAG, "An exception occured!", e);
          return null;
        }
      }
    
      private static String getElementValue(Element element) {
        String val = element.getChildNodes().item(0).getNodeValue();
        if (val == null)
          return "";
    
    // hier bin ich nicht sicher, ob das notwendig ist
    // ggf. funktioniert auch ein replace von "\n"
        if (val.contains("\n")) {
          val = val.replace("\n", "§§");
          StringTokenizer t = new StringTokenizer(val, "§§");
          val = "";
          while (t.hasMoreTokens()) {
            val = val + " " + t.nextToken().trim();
          }
        }
    
        return val.trim();
      }
    
      private static Date parseDate(String dateString, boolean needToFix) {
        if (StringUtils.isEmpty(dateString))
          return null;
        String[] parts = dateString.split("T");
    
        if (parts == null || StringUtils.isEmpty(parts[0]) || StringUtils.isEmpty(parts[1]))
          return null;
        String[] date = parts[0].split("-");
        String[] time = parts[1].split(":");
    
        GregorianCalendar cal = new GregorianCalendar();
        cal.set(Calendar.YEAR, Integer.parseInt(date[0]));
        cal.set(Calendar.MONTH, Integer.parseInt(date[1]) - (needToFix ? 1 : 0));
        cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(date[2]));
        cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(time[0]));
        cal.set(Calendar.MINUTE, Integer.parseInt(time[1]));
        cal.set(Calendar.SECOND, 0);
        return cal.getTime();
      }
    
    }
    
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Samsung S3 USB Dateien werden nicht aktualisiert Android App Entwicklung 03.08.2017
[ERLEDIGT] Android O Neue Fonts in XML Methode Android App Entwicklung 27.07.2017
[GESCHLOSSEN] Kennt jemand ein Programm , um .DEX Dateien zu öffnen, bearbeiten und wieder speichern? Android App Entwicklung 20.07.2017
[ERLEDIGT] Instanzierung aus XML Android App Entwicklung 11.04.2017
[ERLEDIGT] (JSON-)Datei speichern Android App Entwicklung 08.04.2017
Wie erstelle ich Icons für die Items im Navigation Drawer (xml Format) Android App Entwicklung 09.12.2016
Unschönes XML parsen Android App Entwicklung 30.11.2016
DDMS FIle Explorer keine Dateien mehr vorhanden Android App Entwicklung 16.11.2016
Du betrachtest das Thema "XML Datei parsen!" im Forum "Android App Entwicklung",