Hallo,
ich bin relativ neu in der Materie und habe einek kurze Frage.
Ich habe mit Java ein XML-File erzeugt und entsprechend mit JSP Formulareingaben hinzugefügt. Außerdem habe ich ein Schema gemacht welches für die XML-Datei Maßgebend sein soll.
Das Problem ist jedesmal wenn eingaben in das formular gemacht werden legt er mir eine neue File an. Ich möchte aber, dass er in das schon bestehende File neue Einträge macht.
Beispiel XML-Datei:
[Java]
<ns1:ConfigurationItem>
<ns1:Name></ns1:Name>
<ns1:Beschreibung></ns1:Beschreibung>
<ns1:Name></ns1:Name>
</ns1:ConfigurationItem>
<ns1:ConfigurationItem>
<ns1:Name></ns1:Name>
<ns1:Beschreibung></ns1:Beschreibung>
<ns1:Name></ns1:Name>
</ns1:ConfigurationItem>
Der JavaCOde den ich habe sieht wie folgt aus:
try{
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
//Wurzelelement anlegen
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement("Root");
doc.appendChild(rootElement);
Element ConfigurationItem = doc.createElement ("ConfigurationItem");
rootElement.appendChild(ConfigurationItem);
//Name Element anlegen
Element Name = doc.createElement ("Name");
Name.appendChild(doc.createTextNode(request.getParameter("Name")));
ConfigurationItem.appendChild(Name);
//Beschreibung Element anlegen
Element Beschreibung = doc.createElement("Beschreibung");
Beschreibung.appendChild(doc.createTextNode(request.getParameter("Beschreibung")));
ConfigurationItem.appendChild(Beschreibung);
//Autor Element anlegen
Element Autor = doc.createElement("Autor");
Autor.appendChild(doc.createTextNode (request.getParameter("Autor")));
ConfigurationItem.appendChild(Autor);
//schreibt in XML-File
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("D:\\file.xml"));
transformer.transform(source, result);
System.out.println("Datei gespeichert!");
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
[/Java]
Wenn mir jemand helfen könnte wäre das super.
Viele Grüße
NIco
ich bin relativ neu in der Materie und habe einek kurze Frage.
Ich habe mit Java ein XML-File erzeugt und entsprechend mit JSP Formulareingaben hinzugefügt. Außerdem habe ich ein Schema gemacht welches für die XML-Datei Maßgebend sein soll.
Das Problem ist jedesmal wenn eingaben in das formular gemacht werden legt er mir eine neue File an. Ich möchte aber, dass er in das schon bestehende File neue Einträge macht.
Beispiel XML-Datei:
[Java]
<ns1:ConfigurationItem>
<ns1:Name></ns1:Name>
<ns1:Beschreibung></ns1:Beschreibung>
<ns1:Name></ns1:Name>
</ns1:ConfigurationItem>
<ns1:ConfigurationItem>
<ns1:Name></ns1:Name>
<ns1:Beschreibung></ns1:Beschreibung>
<ns1:Name></ns1:Name>
</ns1:ConfigurationItem>
Der JavaCOde den ich habe sieht wie folgt aus:
try{
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
//Wurzelelement anlegen
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement("Root");
doc.appendChild(rootElement);
Element ConfigurationItem = doc.createElement ("ConfigurationItem");
rootElement.appendChild(ConfigurationItem);
//Name Element anlegen
Element Name = doc.createElement ("Name");
Name.appendChild(doc.createTextNode(request.getParameter("Name")));
ConfigurationItem.appendChild(Name);
//Beschreibung Element anlegen
Element Beschreibung = doc.createElement("Beschreibung");
Beschreibung.appendChild(doc.createTextNode(request.getParameter("Beschreibung")));
ConfigurationItem.appendChild(Beschreibung);
//Autor Element anlegen
Element Autor = doc.createElement("Autor");
Autor.appendChild(doc.createTextNode (request.getParameter("Autor")));
ConfigurationItem.appendChild(Autor);
//schreibt in XML-File
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("D:\\file.xml"));
transformer.transform(source, result);
System.out.println("Datei gespeichert!");
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
[/Java]
Wenn mir jemand helfen könnte wäre das super.
Viele Grüße
NIco