XML Bearbeiten ISO 8859-15

  1. #1
    Zamurei


    XML Bearbeiten ISO 8859-15 - Standard XML Bearbeiten ISO 8859-15
    Hallo,

    könnte mir jemand erklären wie ich eine XML Datei einlesen und bearbeiten kann die als ISO 8859-15 kodiert ist.

    mfg
    Zamu

  2. #2
    Marcinek

    Mit einem SAX oder DOM Parser.

  3. #3
    Zamurei


    Wäre es vllt möglich das du mir das etwas genau eklären könntest.

    habe schon versucht es an diesem Beispiel nachzuvollziehen, jedoch verstehe ich das nicht ganz

    http://www.java-forum.org/xml-co/121...speichern.html



    edit:
    Das habe ich auch noch probiert jedoch scheint er da nicht mit dem encoding klar zu kommen, wie kann ich ihm denn sagen welches encoding er verwenden soll?

    Javabeginners - XML-Dateilesen

    mfg
    zamu

  4. #4
    musiKk


    Es wäre sehr sinnvoll, wenn Du Deine bisherigen Bemühungen zeigen könntest und was Du eigentlich machen willst. Im Moment kann das alles oder nichts sein.

  5. #5
    Marcinek

    Nein, das ist nicht das wonach du suchst.

    Suche nach "Tutorial SAX Parser"

    Ich würde es dir gerne erklären, aber XML Parsen ist nix, was du nun neu erfindest und es ist schon bestimmt google mal beschrieben.

  6. #6
    Zamurei


    Ich möchte eine XML-Datei einlesen und diese verändern können. Jedoch habe ich Probleme mit der Kodierung.

    Die Datei ist als "ISO 8859-15" kodiert.



    edit:
    Danke, das hilft mir schon mal weiter.

  7. #7
    Marcinek

    Zitat Zitat von Zamurei Beitrag anzeigen
    Die Datei ist als "ISO 8859-15" kodiert.
    Weißt du, was das bedeutet?

    Zeig mal bitte deinen bisherigen Code.

  8. #8
    Zamurei


    Das ist doch der Zeichensatz der verwendet wird um den Text darzustellen.

    Java Code:
    1.  
    2. File f = new File(pfad);
    3.  
    4. SAXBuilder builder = new SAXBuilder();
    5. InputSource is = new InputSource(pfad);
    6. is.setEncoding("iso-8859-15");
    7. doc = builder.build(is);
    8.  
    9. XMLOutputter fmt = new XMLOutputter();
    10. fmt.output(doc, System.out);


    Hiermit kann ich die XML Datei jetzt ohne Probleme einlesen und auch in der Konsole wieder ausgeben.

    mfg
    zamu


    edit:Jetzt stellt sich mir nur die Frage wie ich in der Datei Elemente suchen und bearbeiten kann.

  9. #9
    Zamurei


    Hallo,

    ich hätte noch eine Frag zur Bearbeitung der XML-Datei.

    [XML]<Feld nr="1234" name="hans" wert="5"/>
    <Feld nr="56789" name="michael" wert="3"/>[/XML]

    Mit

    Java Code:
    1. getAttributeValue("nr");


    komm ich zwar an das erste Feld, aber wie komme ich denn an das Zweite?

    Danke und Gruß
    Zamu

  10. #10
    c_sidi90


    Wenn man mit XML Frameworks arbeitet wie z.B. JDOM bietet es sich an, die verschiedenen Elemente in eine List zu speichern. So kannst du durch alle Elemente iterieren und auf die einzelnen Attribute zugreifen.

    Die Children des Rootelements bekommst du mit JDOM z.B. durch einen Aufruf von
    Java Code:
    1. Element root = document.getRootElement();
    2. List children = root.getChildren();
    3.  
    4. //Jetzt kannst du in einer Schleife durch die Liste iterieren
    5.  
    6. for(Element e : children){
    7.  
    8. String value = e.getAttributeValue("nr"));
    9. System.out.println(value);
    10.  
    11. }

  11. #11
    Zamurei


    Ah, super Danke hat funktioniert.

    Gruß
    Zamu

  12. #12
    Zamurei


    Hi,

    kannst du mir auch sagen wie ich zum Beispiel das Feld zwei löschen kann, denn wenn ich das selbe mit deiner Methode versuche, funkioniert das leider nicht.

    Gruß
    Zamu

  13. #13
    c_sidi90


    Dafür musst du ein neues Document erstellen, und in diesem die Inhalte aus dem alten Laden. Aus der alten List mit den Children die beliebigen löschen, und diese List dem neuen Document hinzufügen. Also quasi eine exakte Kopie des ersten.

  14. #14
    Zamurei


    Hallo,

    Also du meinst ich soll eine Kopie erstellen und das was ich löschen will einfach nur weglassen, beim schreiben des neuen Dokumentes?

    Gruß
    Zamu

  15. #15
    c_sidi90


    Genau

  16. #16
    Zamurei


    Hi,

    kannst du mir dann vllt noch sagen wie ich das ganze wieder als "iso-8859-15" abspeichern kann.

    Denn wenn ich das über

    Java Code:
    1. FileWriter writer = new FileWriter (new File("C:/Test/test.xml"));
    2. fmt.output(doc, writer);


    mache bekomme ich das nur als "UTF-8" kodiert.

  17. #17
    Landei


    Wenn deine XML-Datei eine feste Syntax hat und einem oder mehreren Objekten in deiner Applikation entspricht, kannst du auch JAXB zum deserialisieren nehmen, also statt XML---(Magie)--->DOM---(viel Handarbeit)--->DeinObjekt direkt XML---(Magie)--->DeinObjekt

Ähnliche Themen
  1. ISO-8859-1 und UTF-8
    Von redbomber im Forum XML und Co.
    Antworten: 3
    Letzter Beitrag: 23.05.2011, 14:01
  2. ISO-8859-1
    Von roli_01 im Forum Allgemeine Java-Themen
    Antworten: 3
    Letzter Beitrag: 09.02.2008, 10:54
  3. iso 8859-15 in eclipse
    Von JCrypter im Forum IDEs und Tools
    Antworten: 9
    Letzter Beitrag: 04.05.2007, 14:07
  4. utf-8 zu iso-8859-1
    Von bilgili im Forum Allgemeine Java-Themen
    Antworten: 4
    Letzter Beitrag: 22.07.2005, 10:02