JDOM - edycja xml

0

Mam przykładowo taki plik xml:

<samochody>
	<auto>
		<marka>Audi</marka>
		<model>q7</model>
		<cena>200000</cena>
	</auto>
	<auto>
		<marka>Opel</marka>
		<model>Astra</model>
		<cena>30000</cena>
	</auto>
</samochody>
 

I teraz powiedzmy chcę zmienić cenę przy obydwóch samochodach. Jak to zrobić za pomocą biblioteki JDOM?
Powinno być chyba coś w tym stulu:

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
 
public class ModifyXMLFile {
	public static void main(String[] args) {
 
	  try {
 
		SAXBuilder builder = new SAXBuilder();
		File xmlFile = new File("plik.xml");
 
		Document doc = (Document) builder.build(xmlFile);
		Element rootNode = doc.getRootElement();
 
		Element staff = rootNode.getChild("auto");

		staff.getChild("cena").setText("7000");
 
		XMLOutputter xmlOutput = new XMLOutputter();
 
		xmlOutput.setFormat(Format.getPrettyFormat());
		xmlOutput.output(doc, new FileWriter("plik.xml"));
 
	  } catch (IOException io) {
		io.printStackTrace();
	  } catch (JDOMException e) {
		e.printStackTrace();
	  }
	}
}

Ale jednak domyślam się, że wtedy zaktualizuje mi 1 samochód.. Ale jak odnieść się do kilku samochodów..?

1

nie zastanawiając się czy Twoje spostrzeżenie jest słuszne itp. W pętli bym śmigał i każde dziecko przechodził. next....

0

pewnie i tak trzeba zrobić, ale potrzebuję chociaż jakiegoś schematycznego przykładu.
@Edit
i jeszcze drugie pytanie:
może trochę trywialne ale muszę się upewnić:
Jeśli mam całą aplikacje spakowaną do formatu ".jar", to jeśli użytkownik w programie wprowadzi jakieś dane, to mogę je zapisać do pliku .xml (oczywiście znajdującego się w pliku .jar)?

1 użytkowników online, w tym zalogowanych: 0, gości: 1