1. ben56a, 23.09.2010 #1
    ben56a

    ben56a Threadstarter Android-Hilfe.de Mitglied

    hallo leute, ich habe folgendes Problem.
    Zuerst poste ich meinen Code. Es handelst sich um eine Methode, welche aus der XML-Datei Daten auslesen soll.

    Code:
    public String loadXML(String node)
        {
            String einga = null;
        try {
                URL url = new URL("../Schulden/src/com/example/schulden/speicher.xml");
                DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                DocumentBuilder db = dbf.newDocumentBuilder();
                Document doc = db.parse(new InputSource(url.openStream()));
                doc.getDocumentElement().normalize();
                
                nodeList = doc.getElementsByTagName(node);
                einga = nodeList.item(0).getFirstChild().getNodeValue();
                
                }catch (Exception e) {
                    
                }
            return einga;
        }
    Das Problem ist kein Problem, wenn ich die XML Datei auf einen Server lege und die Adresse als URL angebe. Dann funktioniert alles einwandfrei. Nun will ich aber die XML Datei nicht auf einen Server legen, sondern lokal verwalten, habe dann die URL wie oben eingetragen, leider funktioniert das aber nicht.

    Hat jemand einen Lösungsvorschlag?
     
  2. BenOtto, 23.09.2010 #2
    BenOtto

    BenOtto Android-Hilfe.de Mitglied

    file: vor die URL schreiben.
     
  3. ben56a, 23.09.2010 #3
    ben56a

    ben56a Threadstarter Android-Hilfe.de Mitglied

    mit folgender variante habe ich leider keinen erfolg:

    Code:
    URL url = new URL("file:save.xml");
    das textfeld bleibt einfach leer.
     
  4. eMsRaph, 23.09.2010 #4
    eMsRaph

    eMsRaph Neuer Benutzer

    Es hängt natürlich davon ab wo die XML Datei liegt. Ist die auf dem lokalen Dateisystem hinterlegt oder gar innerhalb des Progammpakets.
     
  5. ben56a, 23.09.2010 #5
    ben56a

    ben56a Threadstarter Android-Hilfe.de Mitglied

    Die XML Datei liegt im gleichen Verzeichnis, wie Schulden.java, in welcher die XML aufgerufen werden soll.
     
  6. ko5tik, 23.09.2010 #6
    ko5tik

    ko5tik Android-Experte

    in diesen Fall (wenn der Datei tatsächlich in dem apk gelandet ist):

    this.getClass().getClassloader().getResource[AsSream](... deine pfad, absolut )

    Alternativ packst du denb Date in res/raw und machst:

    context.getResources().openRawResource(resourceId);

    Dies ist die bevorzugzte methode!!!!!
     
    ben56a bedankt sich.