So ändern Sie die Werte der Elemente und Attribute in einer XML-Datei [Java]?
Bin ich beim Lesen einer XML-Datei mit einem SAX-parser (dieser Teil kann verändert werden, es gibt einen guten Grund dafür).
Wenn ich finde, notwendigen Eigenschaften, die ich brauche, um deren Werte ändern und speichern Sie die resultierende XML-Datei als neue Datei.
Wie kann ich das tun?
- Können Sie re-öffnen Sie die XML-stream??? oder Ist es für Sie möglich, zum speichern der Daten in einem Puffer, noch bevor die Analyse ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Afaik, SAX-parser ist nur. Sie müssen wählen Sie eine andere Bibliothek zum schreiben von XML.
Wenn Sie nur die Attribute geändert oder ändern von element-Namen und NICHT die Veränderung der Struktur von XML -, dann sollte dies eine relativ einfache Aufgabe. Verwenden STaX als Schriftsteller:
Nun erweitern des SAX DefaultHandler:
Wenn Ihr Dokument ist relativ klein, ich würde empfehlen, mit JDOM. Sie können ein Exemplar einer SaxBuilder zu erstellen, die Dokument aus einem InputStream, dann verwenden Sie Xpath zu finden, der Knoten/Attribute, die Sie ändern möchten, machen Sie Ihre änderungen und verwenden Sie dann XmlOutputter zu schreiben, das geänderte Dokument wieder aus.
Auf der anderen Seite, wenn das Dokument ist zu groß, um effektiv zu halten im Speicher (oder Sie nicht möchten, verwenden Sie eine 3rd-party-Bibliothek), Sie wollen stick mit Ihrem SAX-parser, streaming aus dem Knoten auf der Festplatte, wie Sie Sie Lesen, so dass alle änderungen auf dem Weg.
Können Sie auch wollen, um einen Blick auf XSLT.