eigentlich einfach nur XML schreiben

Status
Nicht offen für weitere Antworten.

bbone

Mitglied
Guten Tag, also folgendes habe ich schon

Java:
		docBuildFac = DocumentBuilderFactory.newInstance();
		docBuild = docBuildFac.newDocumentBuilder();
		fileOutput = new File("config.xml");
		vecConfigSets = new Vector<ConfigSetContainer>();
		docXML = docBuild.parse(fileOutput);

		NodeList nl = docXML.getFirstChild().getChildNodes();
		int anzNodes = nl.getLength();
		for (int i = 0; i < anzNodes; i++)
		{
			// Unterhalb von data Knotennamen holen
			Node nodeActual = nl.item(i);
			String strActualNodeName = nodeActual.getNodeName();

			if (strActualNodeName.endsWith("mscons_config"))
			{
				// Jetzt amm Knoten gefunden
				NodeList subnl = nodeActual.getChildNodes();
				int anzSubNodes = subnl.getLength();
				ConfigSetContainer configSetContainerTmp = new ConfigSetContainer();
				for (int k = 0; k < anzSubNodes; k++)
				{
					// Unterhalb von data Knotennamen holen
					Node tmpSubnode = subnl.item(k);
					String subNodename = tmpSubnode.getNodeName();
					if (subNodename.endsWith("Name"))
					{
                                         //An dieser Stelle neuen Wert setzen !!!

Funktioniert soweit lesend auch alle. Jetzt würde ich gerne den Wert an dem Kommentar verändern ohne das ich alles nochmal neu durchsuchen muss.
Ich habe sowohl
Java:
						tmpSubnode.setNodeValue(String.valueOf(Nr));
also auch
Java:
tmpSubnode.setTextContent(String.valueOf(Nr));
versucht. Tut aber irgendwie beider überhaupt nichts. Muss ich noch irgendwo flush() oder sowas sagen ?

Gruß
 
S

SlaterB

Gast
was soll denn passieren?
soll sich die Datei auf der Festplatte ändern?
ein Reader hat passenderweise keine flush()-Methode, da musst du schon irgendeine Art Writer/ OuputStream ins Spiel bringen

das ist von API zu API unterschiedlich,
nachdem was ich kurz bei google gesehen habe musst du wohl etwas in der Art verwenden, was hier
Writing Out a DOM as an XML File
unter 'Creating a Transformer' steht, oder bessere Tutorials finden ;)

statt
> StreamResult result = new StreamResult(System.out);
kann man sicher auch einen FileOutputStream oder so angeben
 

bbone

Mitglied
Kann ich mit meiner vorhandenen Funktion nichts machen? Muss ich da zwangsweise ne neue Funktion machen. Zum Beispiel: Wird beschrieben wie ein neuer Node erstellt wird und nicht wie ein vorhandener manipuliert werden kann
 
S

SlaterB

Gast
> Zum Beispiel: Wird beschrieben wie ein neuer Node erstellt wird und nicht wie ein vorhandener manipuliert werden kann

das ist das schöne am Programmieren, es zerfällt in Teilaufgaben,
ob ein Node (bzw. ein ganzes Document) neu erstellt wurde oder von irgendwoher geladen wurde ist ganz egal,
die weitere Verarbeitung (z.B. Speichern) nimmt ein beliebiges Document und macht dann was damit

vergleiche im einfacheren Maßstab:
String x = ...;
ob diese ... nun einfach "test" ist oder ladeKompliziertenStringAusDatei(); ist danach völlig egal,
der String ist dann da und kann danach weiterverarbeitet werden,
er trägt keine Meta-Informationen in sich, z.B. wo er herkommt


sicherlich ist es allgemein denkbar, dass, nachdem das Document explizit geladen wurde,
eine einfache Methode writeBackToFile() irgendwo zur Verfügung steht, nicht unbedingt im Document selber, sondern irgendwo anders,
meiner Kenntnis nach ist das aber nicht der Fall, was also auch 'Kann ich mit meiner vorhandenen Funktion nichts machen?' beantwortet,
Experte bin ich da aber nicht
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C einfach XML lesen XML & JSON 4
T Einfach nur die Elemente einer XML Datei auslesen :( XML & JSON 10
D Int-Werte in XML-Datei schreiben (DOM) XML & JSON 2
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
L Objekt Serialisierung: Schreiben aller Attribute erzwingen XML & JSON 5
A JDOM: Wert schreiben bzw. ändern XML & JSON 6
M DOM, Werte mit setAttribute in XML schreiben XML & JSON 3
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