Mit XPATH finden und dann änder

Status
Nicht offen für weitere Antworten.

thomet

Aktives Mitglied
Hy,
ich suche bestimmte stellen in einer XML datei mit XPATH. Er findet diese auch wunderbar.
Nun möchte ich an der stelle zb den Attribut "class" ändern und wieder in der XML Datei speichern.

Wie kann ich das mit dem ändern und Speichern realisieren????

hier ma mein aktueller Quellcode:
Code:
	Document doc = null;
	String file = "daten.xml";

	try {
		doc = new SAXBuilder().build( file );	
	} catch (JDOMException e) {
		System.out.println("Fehler im JDOM:");
		e.printStackTrace();
	} catch (IOException e) {
		System.out.println("Fehler beim lesen der Datei:");
		e.printStackTrace();
	}

	try {
		xpath = XPath.newInstance( "/*[local-name()='plugin']/*[local-name()='extension']/*[local-name()='application']/*[@class!='']" );
		allApplication =  xpath.selectNodes( doc );
	} catch (JDOMException e) {
		System.out.println("Fehler im JDOM:");
		e.printStackTrace();
	}
		
	for ( Object objApp : allApplication) {
		Element eApp = (Element) objApp;
		String sApp = eApp.getAttribute("class").getValue();
		eApp.getAttribute("class").setValue("neuerInhalt");
	}	

	// Jetzt soll meine veränderung gespeichert werden

Vieleicht könnt ihr mir ja weiter helfen. Ich weiß nicht wirklich wie ich das jetzt speichern kann.

mfg thomet


EDIT:


ODER

falls jemand nen ganz andern Vorschlag hat, hier das was ich will:

Ich möchte, aus einer XML-Datei, alle Tags mit den Attribut class den Inhalt des Attributes auf einen andern von mit bestimmten Wert setzen.
 

0x7F800000

Top Contributor
Die Ausgabe bewerkstelligst du mit dem Outputter aus org.jdom.output.*
Code:
//stream erstellen: kannst es zB zum Browser, oder auch in eine Datei schicken
OutputStream stream=new FileOutputStream(file); 
 //das document "doc" schön formatiert in der "stream" schicken
(new XMLOutputter(Format.getPrettyFormat())).output(doc,stream); 
stream.close(); //weiss nicht, ob das wirklich nötig ist?

Was ich allerdings ein wenig angemessener finden würde: mit diesen ganzen schleifen herumzuhantieren, könntest du auch einen kleinen XSLT-code schreiben, der genau diese ersetzung im XML vornimmt. Wenn du den code hast, musst du nur noch den Transformer aus javax.xml.transform.* mit diesem code auf das document loslassen, und schon ist alles ersetzt. zu XSLT findest du einen kurzen und selbsterklärenden beispiel in der Insel, bei w3c schools gibts auch eine schöne einführung (20 minuten blättern, dann kann man's schon einsetzen. XPath ist da imho eh das schwierigere).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T XPath Problem: finden einer Node nach Attributswert XML & JSON 2
Kirby.exe Probleme mit XML XPATH Select XML & JSON 3
B XPath soll XML liefern XML & JSON 7
O XPATH Problem - Anfänger XML & JSON 4
M dom4j unberechtigte Invalid XPath expression XML & JSON 12
W XPath schreiben XML & JSON 1
P HTML XPath XML & JSON 1
S Ersatz für die veraltete Klasse XPath XML & JSON 1
C XPath: Alle Kinder in einer Schleife auslesen XML & JSON 2
P Xpath zugriff auf Attribute XML & JSON 3
P "XPath is deprecated" XML eclipse XML & JSON 3
G HtmlUnit XPath XML & JSON 5
D XPath-Query XML & JSON 2
I XPath Namensräume und auslesen einzelner Knoten XML & JSON 3
AMStyles XPATH Befehl SVG Java XML & JSON 2
G xpath: in Kindelement zwei Attribut-Werte auslesen XML & JSON 2
G xpath: Inhalt eines Kindelements auslesen XML & JSON 2
H ChildNode via XPath ansprechen XML & JSON 2
G JDOM - aus Children-Liste ein Child direkt ansprechen ohne XPath? XML & JSON 9
S Attribute von Elementen auslesen mit XPath XML & JSON 2
T Xpath & JDOM Element Pfad ausgeben XML & JSON 2
W XPath + Inhalt aus <td> XML & JSON 2
R XPath - frage zur Adressierung XML & JSON 3
reibi XPath XML & JSON 14
M xPath liefert leeres Nodeset XML & JSON 2
M Probleme mit XPath bei Java XML & JSON 5
W Element mit XPath @id ermitteln wenn nur ein teil der id bekannt ist XML & JSON 2
F XPath-Problem mit DOM4J XML & JSON 8
O XPATH gesucht XML & JSON 6
G XPATH-Frage XML & JSON 2
L Element manipulieren in einem DOMResult per XPath XML & JSON 10
P XPath und Namespaces XML & JSON 3
G XPath - replace function funktioniert nicht XML & JSON 3
E XPATH-Ausdruck mit not XML & JSON 4
E Wieso liefert dieser XPATH-Ausdruck nicht die richtige Anzahl Treffer? XML & JSON 8
M XPath Ausdruck validieren XML & JSON 2
N XPath Adressierung XML & JSON 7
F XPath frage XML & JSON 4
B Optionaler XPath pfad XML & JSON 2
B XPath frage XML & JSON 2
T Frage zu XQuery (XQJ) / XPath XML & JSON 2
P XPath Problem XML & JSON 2
S Problem mit XPath XML & JSON 4
T EXSD auslesen mit XPath und JDOM XML & JSON 8
G XPath gesucht für Tag mit konkretem Content XML & JSON 2
A XPath Problem XML & JSON 2
C XPath in JDOM klappt nicht XML & JSON 2
T Prbolem XPath XML & JSON 2
X Xpath, alle Element die mit "user" beginnen auswäh XML & JSON 2
loadbrain XPath Problem XML & JSON 2
M brauche große XML-Datei für XPath-Tests XML & JSON 4
M JDOM und XPath, zu Element zugehörigen XPath-Ausdruck XML & JSON 5
F JDOM und XPath - Problem mit Namespace ohne Prefix XML & JSON 5
F hilfe bei xpath-ausdruck XML & JSON 2
K java + xpath -> performanceproblem XML & JSON 9
H Xpath kindelemente auslesen XML & JSON 2
S Xml zurück in xpath wandeln XML & JSON 8
G Frage zu XPath XML & JSON 2
flashfactor Filtern mittels XPATH XML & JSON 4
M XSL/XPath - Nur ersten Wert mit selben Attribut XML & JSON 4
M XPath Problem im Zusammenhang mit document() XML & JSON 2
M Frag zu xsl:when beziehungsweise XPath XML & JSON 3
F JDom und XPath XML & JSON 12
C xpath funktioniert nicht XML & JSON 5
M XPATH und RSS (Problem namespaces) XML & JSON 7
P nochmal XPath :-) XML & JSON 22
P XPath . XML & JSON 2
T Rekursiver Verzeichniss Baum in XML & XPath XML & JSON 4
clemson xpath mit jdom XML & JSON 2
Wildcard xpath Parser XML & JSON 8
I XML IDs auslesen, erst X dann Y XML & JSON 2
H Nach einem Attribut suchen und dann löschen XML & JSON 3

Ähnliche Java Themen

Neue Themen


Oben