DOM, Werte mit setAttribute in XML schreiben

Status
Nicht offen für weitere Antworten.

mikee

Neues Mitglied
Hallo,
ich möchte mit Hilfe von DOM und SetAttribute einen Wert in einer XML Datei aktualisieren, Exception gibt's keine, in die XML Datei schreiben tut aber auch nicht:

Java:
private void writeData(String FilePath) {
 try {
  DocumentBuilderFactory factory =  DocumentBuilderFactory.newInstance();
  DocumentBuilder builder = factory.newDocumentBuilder();
  Document document = (Document) builder.parse(FilePath);
  Element documentElement = document.getDocumentElement();

  writeAccounts(documentElement.getElementsByTagName("accounts"));
    } catch (Exception e) {
      System.err.println(e.toString());
    }
}


private void writeAccounts(NodeList accounts) {
  Node account;
  Element accountElement;
  if (accounts != null && accounts.getLength() > 0) {
    for (int i = 0; i < accounts.getLength(); i++) {
      for (account = accounts.item(i).getFirstChild(); account != null; account = account.getNextSibling()) {
        if (account.getNodeType() != Node.ELEMENT_NODE) {
          continue;
        }
        accountElement = (Element) account;
        accountElement.setAttribute("name", "Herr Mitterhuber");
        System.out.println(accountElement.getAttribute("name"));
      }
    }
  }
}

Interessanterweise gibt der zweite System.out den aktualisierten Wert aus, nur wie gesagt wird er nicht in das XML File geschrieben. Wäre toll wenn jemand einen Tipp bereit hätte!

Grüße
Mike
 
Zuletzt bearbeitet von einem Moderator:

mvitz

Top Contributor
Du musst das file noch schreiben...

Was du aktuell machst ist:

1) Das aktuelle File komplett in den Speicher laden
2) Dort das Attribut hinzufügen

ABER das passiert alles nur im Speicher und nicht im File selber, du müsstest also anschließend noch ein File erstellen und das Document aus dem Speicher dort hinein schreiben.
 

mikee

Neues Mitglied
gibt Zeiten wo man vor lauter Bäumen den Wald nicht mehr sieht - ohne Schreiben geht nun mal nix, is klar - vielen Dank euch beiden!

Ich habe das Ganze mit DOM reingebastelt, falls jemand zusammen mit dem ursprünglichen Code Gebrauch haben sollte:

Java:
Transformer transformer = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(document);
FileOutputStream os = new FileOutputStream(new File(xmlConfigFilePath));
StreamResult result = new StreamResult(os);
transformer.transform(source, result);

Grüße
 
Zuletzt bearbeitet von einem Moderator:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Int-Werte in XML-Datei schreiben (DOM) XML & JSON 2
M XML Werte einlesen aber wie am besten weiterverarbeiten? XML & JSON 13
S JAXB - Any Elementliste - wie Werte verändern? XML & JSON 4
F Aus XML mit JDOM aus Elementattributen Werte rauslesen XML & JSON 4
G xpath: in Kindelement zwei Attribut-Werte auslesen XML & JSON 2
S XML Parsen und Werte zwischenspeichern XML & JSON 2
S XSD-Datei zulässige Werte auslesen XML & JSON 3
enne87 Element-Werte werden falsch ausgelesen XML & JSON 2
H Liste voller Objekte und Werte in XML via XStream XML & JSON 3
T Werte in XML Datei an entsprechender Stelle einfügen XML & JSON 3
M XML werte auslesen ! XML & JSON 3
P JDOM Werte verändern XML & JSON 4
H JDOM setAttribute Reihenfolge XML & JSON 3
W XPath schreiben XML & JSON 1
N Java XML schreiben funktioniert nicht XML & JSON 1
L Mit Hilfe von POI eine Tabelle ohne Rahmen in Word schreiben XML & JSON 2
J XML als stream schreiben? XML & JSON 2
M JAXB: automatisches Groß schreiben Property XML & JSON 9
L Datenstruktur in XML-File schreiben XML & JSON 2
G DXF-File schreiben XML & JSON 17
P Komfortabel XML Dokumente schreiben und lesen XML & JSON 6
Maxim6394 Lesen/Schreiben von XML Datei XML & JSON 9
B Validierung nur beim einlesen oder auch beim schreiben? XML & JSON 4
S XML lesen und schreiben XML & JSON 2
C DOM: Attribute nicht in alphabetischer Reihenfolge schreiben XML & JSON 3
T Schreiben einer XML XML & JSON 8
J wert IN einem tag einlesen/schreiben XML & JSON 4
K JAXB: Klassen mit Annotation Lesen/Schreiben XML XML & JSON 3
K '&' in xml schreiben XML & JSON 2
G Problem beim schreiben von XML in eine File XML & JSON 2
sylo DOM Document in XML Datei schreiben XML & JSON 5
J xmlencoder Zustände einer Bean schreiben XML & JSON 3
B eigentlich einfach nur XML schreiben XML & JSON 3
L Objekt Serialisierung: Schreiben aller Attribute erzwingen XML & JSON 5
A JDOM: Wert schreiben bzw. ändern XML & JSON 6
B XML einlesen und in Datenbank schreiben XML & JSON 1
D Tabs/Einrückungen der XML-Elemente gehen beim Schreiben verloren XML & JSON 5
J XML lesen schreiben XML & JSON 7
T Xml lesen und in .txt zeilenweise schreiben XML & JSON 4
J XML - schreiben und einlesen (Schema) XML & JSON 14
L Einfaches XML Lesen und Schreiben XML & JSON 4
O OpenDocument-Tabelle mit Java lesen und schreiben XML & JSON 3
G Wie Attribute aus XML in ein Model schreiben (StAX)? XML & JSON 7
K XML-schreiben aus ResultSet dauert zu lange XML & JSON 10
G Mit JAXP in eine Datei schreiben XML & JSON 2
R XML-Datei schreiben - InstantiationException XML & JSON 2
Z DOM: Attribute in Knoten schreiben XML & JSON 2
S XMl Dateien in Java schreiben XML & JSON 4

Ähnliche Java Themen

Neue Themen


Oben