Hallo!

Ich habe folgendes Problem, und zwar will ich einen Teil einer XML-Datei mit XPATH auslesen und ihn dann mit einem XSL-Stylesheet transformieren:

Code :
1
2
3
4
5
6
7
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(xmlfile);
 
XPath xpath = XPathFactory.newInstance().newXPath();
String expression = "/Root/Element" ;
 
NodeList Result = (NodeList) xpath.evaluate(expression, doc, XPathConstants.NODESET);


Das Ergebnis soll dann als "neues" XML-Dokument angesehen und mit XSL transformiert werden. So ungefähr:

Code :
1
2
3
4
5
6
7
Source xmlSource = new StreamSource(Result);
Source xslSource = new StreamSource("transform.xsl");
 
TransformerFactory transFact =  TransformerFactory.newInstance();
Transformer trans = transFact.newTransformer(xslSource);
 
trans.transform(xmlSource, new StreamResult(System.out));

Allerdings funktioniert es mit NodeList nicht, da ja bei xmlSource eigentlich eine .XML-Datei stehen müsste.


Gibt es irgend eine Möglichkeit, den mit XPATH ausgelesenen Teil zu transformieren?


Ich freue mich sehr über jede Hilfe!