1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Parsen von xml files

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Chri, 01.09.2009.

  1. Chri, 01.09.2009 #1
    Chri

    Chri Threadstarter Gewerbliches Mitglied

    Beiträge:
    138
    Erhaltene Danke:
    0
    Registriert seit:
    27.08.2009
    Phone:
    Nexus 4
    Hallo Leute!

    Kennt sich von euch jemand mit dem Thema Parsen von xml files aus?

    Ich habe schon einen gutes Einstiegs- Bsp gefunden:

    Parsing XML from the Net - Using the SAXParser :: anddev.org - Android Development Community | Android Tutorials

    Bitte seht euch mal da Bsp an und ich hoffe ihr könnt mir dann folgende Fragen beantworten:


    1. Was muss ich ändern damit ich ein stationäres xml file und nicht eines von einer URL parsen kann?
    2. Was muss ich ändern, damit ich einen String parsen kann, der xml code enthält?
    Hoffe ihr könnt mir helfen!

    mfg Chri
     
  2. swordi, 01.09.2009 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    1) einfach als url die locale datei angeben.
    2) es gibt genügend parse libraries. damit kannst einfach einen xml string parsen ( falls ich richtig verstehe was du meinst )
     
  3. Chri, 01.09.2009 #3
    Chri

    Chri Threadstarter Gewerbliches Mitglied

    Beiträge:
    138
    Erhaltene Danke:
    0
    Registriert seit:
    27.08.2009
    Phone:
    Nexus 4
    Ok bitte noch mal gaaanz langsam:)!!!

    Ich bin noch ein Anfänger!!!

    Also zum 1. Punkt: ich benutze Eclipse und das xml file ist unter res/layout gespeichert. Wie ändere ich also folgenden Codeteil ab?:
    PHP:
    /* Create a URL we want to load some xml-data from. */
                 
    URL url = new URL("http://www.anddev.org/images/tut/basic/parsingxml/example.xml");

                 
    /* Get a SAXParser from the SAXPArserFactory. */
                 
    SAXParserFactory spf SAXParserFactory.newInstance();
                 
    SAXParser sp spf.newSAXParser();

                 
    /* Get the XMLReader of the SAXParser we created. */
                 
    XMLReader xr sp.getXMLReader();
                 
    /* Create a new ContentHandler and apply it to the XML-Reader*/
                 
    ExampleHandler myExampleHandler = new ExampleHandler();
                 
    xr.setContentHandler(myExampleHandler);
                 
                 
    /* Parse the xml-data from our URL. */
                 
    xr.parse(new InputSource(url.openStream()));
                 
    /* Parsing has finished. */

                 /* Our ExampleHandler now provides the parsed data to us. */
                 
    ParsedExampleDataSet parsedExampleDataSet myExampleHandler.getParsedData();

                 
    /* Set the result to be displayed in our GUI. */
                 
    tv.setText(parsedExampleDataSet.toString());
    Und zum 2. Punkt: zur zeit bekomme ich einen Text vom Server(xml) und den speichere ich in einem ganz normalen String! (Hab einfach ein bsp übernommen) und aus diesem String möchte ich die Daten auslesen (parsen)

    mfg Chri
     
  4. swordi, 01.09.2009 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    du kannst kein xml file aus res layout auslesen.

    warum willst du überhaupt von dort ein xml file auslesen. was steht da drin??? kapier gar nicht für was du das machen willst.

    zum 2. punkt. musst dir einfach eine xml library suchen, bzw hat android sicher schon eine. damit kannst du dann ganz einfach den string nehmen und dir die einzelnen elemente ausgeben.

    ich habe keinen fertigen code abschnitt für dich. aber kollege google hilft dir sicher weiter. ein wenig eigeninitiave wirst du schon brauchen.
     
  5. Chri, 01.09.2009 #5
    Chri

    Chri Threadstarter Gewerbliches Mitglied

    Beiträge:
    138
    Erhaltene Danke:
    0
    Registriert seit:
    27.08.2009
    Phone:
    Nexus 4
    das xml file aus res wär nur für testzwecke! ich könnte es auch auf den rechner legen, fals ich es deann verwenden kann!

    Das mit dem String kappier ich leider immer noch nicht!
    Ich hätte schon einen Parser(siehe 1. eintrag) und den möchte ich auf einen String anwenden! Bloß wie mach ich das?:confused:

    mfg
     
  6. swordi, 01.09.2009 #6
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    such bei onkel google nach asset - dort legt man solche dateien hin.

    dieser saxParser hat sicher eine .parse(String) Methode. damit solltest du ganz normal einen string parsen können.
     
  7. Chri, 01.09.2009 #7
    Chri

    Chri Threadstarter Gewerbliches Mitglied

    Beiträge:
    138
    Erhaltene Danke:
    0
    Registriert seit:
    27.08.2009
    Phone:
    Nexus 4
    möchtest du dir nicht vielleicht netterweise das obige beispiel durchsehen und dann sagen, was ich änder soll? Ich bin gerade am verzweifeln:confused:

    mfg
     
  8. Chri, 03.09.2009 #8
    Chri

    Chri Threadstarter Gewerbliches Mitglied

    Beiträge:
    138
    Erhaltene Danke:
    0
    Registriert seit:
    27.08.2009
    Phone:
    Nexus 4
    So, hab die Lösung, wie ich einen String parsen kann! Man muss den String in Bytes umwandeln und dann funct es:

    ByteArrayInputStream baisStream = new ByteArrayInputStream(m_sTicketList.getBytes());

    xr.parse(new InputSource(baisStream));


    m_sTicketList ist ein String

    mfg Chri
     
  9. swordi, 03.09.2009 #9
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    na siehst du, geht doch ganz einfach ;)

    das sind alles java spezifische sachen, dazu findet man google haufenweise hilfe
     

Diese Seite empfehlen