Мы обновляем наше приложение до java6, и преобразование xsl, работавшее с java 5, теперь возвращает пустой документ - PullRequest
0 голосов
/ 16 августа 2011

Кто-нибудь видел что-нибудь подобное раньше? Я опубликую xsl и xml, если потребуется, но мне придется извлечь из них конфиденциальные данные.

Код, используемый для обработки преобразования XSL:

TransformerFactory tFactory = TransformerFactory.newInstance(); 
Transformer transformer = tFactory.newTransformer(new DOMSource( xslDoc)); 
DOMResult domresult = new DOMResult(); 
transformer.transform(new DOMSource(xmlDoc), domresult); 
Node node = domresult.getNode(); 
resultDoc = (Document) node;

1 Ответ

0 голосов
/ 22 декабря 2011

Никогда не видел, чтобы он становился пустым.Для JAVA6 (также совместимого с 1.5) у меня работает следующий код, похоже, разница в используемом TransformerFactory.

private DocumentBuilderFactory factory;
private DocumentBuilder builder;
private Transformer xformer;

//presetup - needs to be done just once
factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
builder = factory.newDocumentBuilder();
xformer = TransformerFactory.newInstance().newTransformer();

//Transform the file
Source source = new DOMSource(doc);
String oFileName = "output.xml";
File oFile = new File(outputDirectory + "/" + oFileName); 
Result result = new StreamResult(oFile);
xformer.transform(source, result); 

Исправляет ли это вашу проблему?

...