Zack
cookies vader
Hallo,
ich möchte eine bestehende XML Datei erweitern. Dazu habe ich mir folgende Klasse definiert:
Allerdings fliegt eine Nullpointer Exeption:
die Frage ist: Warum?
LG Zack
ich möchte eine bestehende XML Datei erweitern. Dazu habe ich mir folgende Klasse definiert:
Java:
package dvdmanager;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class XMLHandler {
private String path = "";
public XMLHandler(String path){
this.path = path;
}
public void writeXML(String[] data){
try{
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc;
doc = docBuilder.parse(this.path);
//Get the root element
Node dvd = doc.getFirstChild();
NodeList item = doc.getElementsByTagName("item");
int newId = new Integer((item.item(item.getLength()-1).getChildNodes().item(0).getTextContent()))+1;
Element insert = doc.createElement("item");
//id
Element id = doc.createElement("id");
id.appendChild(doc.createTextNode(Integer.toString(newId)));
insert.appendChild(id);
//tile
Element title = doc.createElement("title");
title.appendChild(doc.createTextNode(data[0]));
insert.appendChild(title);
//laenge
Element laenge = doc.createElement("laenge");
laenge.appendChild(doc.createTextNode(data[1]));
insert.appendChild(laenge);
//erschienen
Element erschienen = doc.createElement("erschienen");
erschienen.appendChild(doc.createTextNode(data[2]));
insert.appendChild(erschienen);
dvd.appendChild(insert);
//write the content into xml file
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(this.path));
transformer.transform(source, result);
}catch(ParserConfigurationException pce){
pce.printStackTrace();
}catch(TransformerException tfe){
tfe.printStackTrace();
}catch (SAXException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
}
Code:
javax.xml.transform.TransformerException: java.lang.NullPointerException
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
at dvdmanager.XMLHandler.writeXML(XMLHandler.java:62){
die Frage ist: Warum?
LG Zack