Hallo Heavy,
ich habe mal das ausprobiert. Die klasse lässt sich ohne fehler ausführen, und die xml Datei wird auch erstellt, allerdings ohne die Directroys und die Files. Ich habe mal als test systemprintourln gemacht, nach der if und else schleifen, da habe ich die ausgaben richtig aber sie werden nicht in xml geschrieben. Hast du eine Ahnung warum? Ich denke das liegt an mein xsl Datei, die wahrscheinlich falsch aufgebaut ist?
Hier mal der code und die xsl Datei.
import java.io.File;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import org.dom4j.*;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
import com.sun.org.apache.bcel.internal.generic.RETURN;
import com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException.Builder;
public class CreateXml {
public static void main (String args[]){
try{
File root = new File(„c:/temp“);
//SAXBuilder builder = new SAXBuilder( false );
Document doc = DocumentHelper.createDocument();
Element rootElement = DocumentHelper.createElement(„Root“);
doc.setRootElement(rootElement);
DOMSource source = new DOMSource();
StreamResult result = new StreamResult(new File(„c:/test.xml“));
System.out.println(„xml file has been created.“);
System.out.println();
//Dokument mit XSL Stylesheet umwandeln
Transformer transformer = TransformerFactory.newInstance().newTransformer(
new StreamSource(„test.xsl“));
addFile(rootElement, root, 0);
transformer.transform( source, result);
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerFactoryConfigurationError e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
}
public static void addFile(Element e, File f, int position)
{
if(f.isDirectory())
{
File[] files = f.listFiles();
Element child = DocumentHelper.createElement(„Directory“);
child.addAttribute(„id“, f.getName());
e.add(child);
// System.out.println(„Hier sind die Directorys“);
for(int i=0; i This is the new created xml file
Infos about xxxxx
Eigentlich das sollte funktionieren da ich das nach einem Beispiel aus dem Buch „java ist ein insel“ gemacht habe.
Wozu braucht man diese xsl Datei? wenn ich sie weglasse, dann kommen fehler ohne Ende. Kannst du irgendwo die Fehler erkennen?
Nochmal Danke für deine Hilfe.
Grüße,
johnny