[Frage] iterator bei jdom bricht ab

Status
Nicht offen für weitere Antworten.

sxe

Mitglied
Hallo zusammen.

Gerade angemeldet und schon ne Frage ... aber was sollte ich auch sonst hier? :]

nun gut .. also zu meiner Frage


folgender Code funktioniert :

Code:
List children = current.getChildren();    
Iterator iterator = children.iterator();  
   
while (iterator.hasNext()) {       
  Element child = (Element) iterator.next();      
   System.out.println(child.getName());     
}

Bei dem Code werden per jdom alle Unterelemente ausgegeben.

Den obigen Code habe ich dann erweitert zu folgendem:

Code:
	  List children = root.getChildren();
	  Iterator iterator = children.iterator();
	  
	  while (iterator.hasNext()) {
	  	
		Element child = (Element) iterator.next();
		System.out.println(child.getName());
	  	if (!child.getName().equals(current)) {
			Element a = new Element(child.getName()).setText(child.getText());	
			root.addContent(a);		
	  	} else {		
			Element a = new Element(child.getName()).setText(value);
			System.out.println(a.getText());
			root.addContent(a);
			System.out.println(a.getName() + " wurde in " + a.getText() + " geaendert.");
	  	}
	  	
	  }

Mit dem Code will ich ein bestimmtes child Element verändern (den text) und die anderen unverändert in die xml Datei zurück schreiben. Er bricht aber immer nach dem ersten durchlauf der if schleife mit folgendem Fehler ab:

Code:
Exception in thread "main" java.util.ConcurrentModificationException
        at org.jdom.ContentList$FilterListIterator.checkConcurrentModification(ContentList.java:978)
        at org.jdom.ContentList$FilterListIterator.hasNext(ContentList.java:689)
        at Xml_put.change(Xml_put.java:54)
        at ajcc.main(ajcc.java:42)

[/Ccode] 

Zur Info : Zeile 54 ist folgende Zeile: while (iterator.hasNext()) {

Danke schonmal 

bye
 

Grizzly

Top Contributor
So wie ich das verstanden habe, gehst Du mit dem Iterator die Unterelemente des Root-Elements des XML Dokumentes durch. Und dazwischen fügst Du in dieses Root-Element weitere Elemente hinzu.
Dann ist das Problem klar: Ein Iterator arbeitet eine Ansammlung an Daten ab. Und dieser Datenmenge fügst Du Elemente hinzu. Das funktioniert nicht. In diesem Fall müsstest Du die Liste direkt mit einer for-Schleife durchgehen.

Abgesehen davon scheint es mir, dass die Schleife - sofern dieser Fehler nicht auftreten würde - sowieso endlos laufen würde: Du testest auf einen bestimmten Namen und hängst dann ein Element mit dem gleichen Namen, wie das aktuelle Element hat, an das Root-Element sprich die Liste hin. Aber irgendwann müsste der Iterator auch an diesen neuen Elementen vorbeikommen und daraufhin weitere Elemente anhängen, usw., usw., usw. ;) .
 
G

Guest

Gast
Hi Grizzly

Danke für deine Hilfe .. der Tip das ich den inhalt des Iterators nicht ändern darf war Gold wert.

Ich habe es etzt so gemacht.

Code:
	public void change(String current, String value) {
	  
	  Element root1 = new Element(root.getName());
	  Document clone = new Document(root1);	
	  
	  List children = root.getChildren();
	  Iterator iterator = children.iterator();
	  
	  while (iterator.hasNext()) {
	  	
		Element child = (Element) iterator.next();
		
	  	if (!child.getName().equals(current)) {
			Element a = new Element(child.getName()).setText(child.getText());	
			root1.addContent(a);		
	  	} else {		
			Element a = new Element(child.getName()).setText(value);
			System.out.println(a.getText());
			root1.addContent(a);
			System.out.println(a.getName() + " wurde in " + a.getText() + " geaendert.");
	  	}
	  	
	  }
          }

So kann ich später einfach das neu erstellte Document clone in die Datei schreiben.

Danke nochmal

bye

sxe
 

sxe

Mitglied
ok warum ich jetzt schon wieder als Gast geantwortet habe versuche ich erst garnicht zu erklären :]
 
B

Beni

Gast
sxe hat gesagt.:
ok warum ich jetzt schon wieder als Gast geantwortet habe versuche ich erst garnicht zu erklären :]

Es gibt sonst beim Einwahlfenster ein Kästchen "automatisch einloggen"... :wink: :bae: :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Design Frage zum Geld Protokoll des App Stores XML & JSON 0
K Frage zu der Ausgabe von XML Knotentypen XML & JSON 2
mananana Frage zu JSON XML & JSON 3
pkm Frage zu org.w3c.dom.Node.getNextSibling() und org.w3c.dom.Node.getNextChild() XML & JSON 1
F Frage zu XML Validation XML & JSON 5
B Frage zu Tree Traversal XML & JSON 2
L Frage zu ListViews XML & JSON 1
A Frage zu bestehender XML Datei XML & JSON 6
S XQuery - Frage zur Ausgabe XML & JSON 5
T Frage zu getContent unter jdom XML & JSON 6
R XPath - frage zur Adressierung XML & JSON 3
G XPATH-Frage XML & JSON 2
F XPath frage XML & JSON 4
B XPath frage XML & JSON 2
K XSLT Frage XML & JSON 4
T Frage zu XQuery (XQJ) / XPath XML & JSON 2
M Frage zu Erklärung im Online book "Java ist auch eine I XML & JSON 4
G web.xml frage XML & JSON 4
G Newbe - Frage.XML - Datei einlesen und speichern XML & JSON 2
G Frage zu XPath XML & JSON 2
T Newbie Frage. CSS Stylesheet einlesen und suchen nach Tags XML & JSON 6
O Frage zu JaxMe2! XML & JSON 3
E @pp workaround frage ;-) XML & JSON 3
T Newbie Frage.aus Java eine XML Datei erstellen? XML & JSON 7
Z Frage zu XML Schema XML & JSON 3
G Frage zu erreichen von Elementen XML & JSON 3
iwankoenig List vs. Iterator XML & JSON 2
P JDOM oder SAX XML & JSON 3
Hijo2006 Grundsätzliches zu JDOM 2.x XML & JSON 1
W Kindelemente mit JDOM eines bestimmten Attributes auslesen XML & JSON 6
S JDOM XML Datei darstellen Fehler! XML & JSON 2
S JDom XML ein Element hinzufügen. XML & JSON 1
C JDOM: Value ohne Unterelemente auslesen XML & JSON 1
Z XML Datei mit JDOM einlesen und verarbeiten XML & JSON 6
J JDOM XMLOutputter getPrettyFormat() XML & JSON 3
H JDOM setAttribute Reihenfolge XML & JSON 3
B XML aus einer URL im Internet lesen (JDOM) XML & JSON 4
F Aus XML mit JDOM aus Elementattributen Werte rauslesen XML & JSON 4
R sax, stax, jdom, jaxb? List von Objekten speichern und laden XML & JSON 6
C xml validierung gegen xsd mit jdom: Fehlermeldung Cannot find the declaration of element ... XML & JSON 8
T Dom, Jdom, Sax XML & JSON 8
Helgon MalformedByteSequenceException und null JDOM Attribute XML & JSON 5
Helgon JDOM schreibt nicht XML & JSON 2
A XSl mit JDom auslesen XML & JSON 1
G xml, jdom "Entität wurde referenziert aber nicht deklariert." XML & JSON 4
A XSL und JDom XML & JSON 3
G jdom-Klassen in Eclipse importieren XML & JSON 2
S JDOM ohne XML Header erzeugen? XML & JSON 2
G JDOM - aus Children-Liste ein Child direkt ansprechen ohne XPath? XML & JSON 9
S JDOM nur Attribut Name XML & JSON 2
X JDom für SOAP Dateien geeignet? XML & JSON 3
T Xpath & JDOM Element Pfad ausgeben XML & JSON 2
M XML Parsen JDOM NullPointerEcxeption XML & JSON 7
S jdom hasChildren()? XML & JSON 1
Z Tutorial für JDOM (XSD-Shema) XML & JSON 3
D jdom, xml, login-system XML & JSON 4
N JDOM: XML einlesen XML & JSON 4
O Parsen einer XML mit JDOM ohne Doctype Declaration XML & JSON 2
lordcarlos jdom zu iso-8859-15 zwingen XML & JSON 4
P jdom XML-Encoding auslesen XML & JSON 12
E JDOM - letzem child Attribut hinzufügen XML & JSON 4
H Schema-Validierung mit JDOM XML & JSON 2
lordcarlos JDOM und entfernen von children XML & JSON 4
E JDOM - Problem beim Zusammenfügen zweier Dateien XML & JSON 2
T jdom.jar als Relativer Pfad in Eclipse einbinden XML & JSON 4
sparrow JDom Element.getChild("Name") liefert null obwohl vorhanden XML & JSON 4
S XML, UTF-8, JDOM und Umlaute XML & JSON 3
E XML - JDOM - Bäume: was würdet ihr hier machen? XML & JSON 11
A JDOM: Wert schreiben bzw. ändern XML & JSON 6
T JDOM Bibiliothek XML & JSON 3
K JDOM vs. DOM, Schnittstellen XML & JSON 5
P Große XML Datei mittels JDOM bearbeiten / einlesen XML & JSON 6
0x7F800000 jdom mit xml.transform inkompatibel, was soll ich nehmen? XML & JSON 2
T EXSD auslesen mit XPath und JDOM XML & JSON 8
A JDOM und Sonderzeichen < > XML & JSON 17
G Simples XML File einlesen mit JDom. Prefix not bound ? XML & JSON 2
N jdom problem beim lesen von child elementen XML & JSON 5
N problem bei xml lesen mit jdom XML & JSON 2
S Ampersand im Jdom-Element XML & JSON 2
N jdom - xslt-Verweis in .xml einfügen XML & JSON 3
S Jdom+java webstart XML & JSON 4
K html -> cyberneko -> xml -> jdom . XML & JSON 3
I JDom Text ändern XML & JSON 4
C jdom.Element nicht vorhanden? XML & JSON 4
W JDOM element ändern funzt nich :( [problem gelöst] XML & JSON 3
C XPath in JDOM klappt nicht XML & JSON 2
S Harte Nuss mit XML und JDOM XML & JSON 2
H mit JDOM Verarbeitungsanweisungen und Kommentare auslesen XML & JSON 2
B jdom: getChildren() problem XML & JSON 4
T Bild in XML per JDOM XML & JSON 4
D JDOM erzeugt leere xmlns Attribute XML & JSON 4
T Elemente zählen mit JDOM in XML XML & JSON 7
B jdom document aus string erzeugen? XML & JSON 1
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
T XML mit JDOM auslesen => langsam? XML & JSON 7
B jdom outputter ohne attribute XML & JSON 2
C XML encoding UTF-8 und JDOM XML & JSON 4
P Probleme mit JDom . addContent(int index,Collection c) XML & JSON 2
R key aus xml lesen mittels jdom XML & JSON 5

Ähnliche Java Themen

Neue Themen


Oben