M
mosk
Gast
Hallo liebes Javaforum,
folgendes Problem:
Angenommen ich habe folgende XML Datei
Jetzt habe ich ein Javaprogramm, welches mit von jeder node2 eine eigene Datei erzeugt und halt node2 inklusive Kinder in diese neu erzeugte Datei schreibt. Problem: der Inhalt aus node3 ist nicht mehr "/" sondern "\" (decodiert)!
Hier ist mein java-Code:
Hat jemand eine Idee, woran das liegen kann? Vielen Dank im Voraus.
folgendes Problem:
Angenommen ich habe folgende XML Datei
Java:
<?xml version="1.0" encoding="UTF-8"?>
<node1>
<node2>
<name>test1</name>
<node3>/</node3>
</node2>
<node2>
<name>test2</name>
<node3>/</node3>
</node2>
</node1>
Jetzt habe ich ein Javaprogramm, welches mit von jeder node2 eine eigene Datei erzeugt und halt node2 inklusive Kinder in diese neu erzeugte Datei schreibt. Problem: der Inhalt aus node3 ist nicht mehr "/" sondern "\" (decodiert)!
Hier ist mein java-Code:
Java:
private void debug() throws Exception {
/*** Delete all existing .xml files: ***/
deleteDirectory(path);
SAXBuilder builder = new SAXBuilder();
InputStream is = new FileInputStream(input);
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
Reader in = new BufferedReader(isr);
Document doc = builder.build(isr);
//create a List containing all transformations
Element elRoot = doc.getRootElement();
listOfAllTransformations = elRoot.getChildren("node2");
for (Element e : listOfAllTransformations) {
String transName = e.getChild("name").getText();
String transPath = e.getChild("node3").getText().equals("/") ? "" : e.getChild("node3").getText();
System.out.println("node3: "+e.getChild("node3").getText());
//create directories
tmpTransformationPath = new File(path.getAbsolutePath() + transPath);
tmpTransformationPath.mkdirs();
//create xml file
Element newRoot = (Element) e.clone();
tmpTransformationDoc = new Document(newRoot);
try {
FileOutputStream fos = new FileOutputStream(path.getAbsolutePath() + transPath + "/" + transName + ".xml");
Writer out = new OutputStreamWriter(fos, "UTF-8");
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat().setEncoding("UTF-8"));
outputter.output(tmpTransformationDoc, out);
fos.flush();
fos.close();
} catch (java.io.IOException exe) {
exe.printStackTrace();
}
}
}
Hat jemand eine Idee, woran das liegen kann? Vielen Dank im Voraus.