Как записать содержимое объекта документа в строку в NekoHTML?

Я использую NekoHTML для разбора содержимого некоторых HTML-файлов..

Все идет хорошо, за исключением извлечения содержимого объекта документа в какую-то строку.

Я пробовал использовать

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(writer);
transformer.transform(source, result);

Но ничего не возвращается.

2 ответа

Решение

Проблема в том, что в сервере приложений Oracle 10.3.1.4 http://m-hewedy.blogspot.com/2011/04/oracle-application-server-overrides.html

Возможное решение:

//this nekohtml  
DOMParser parser = new DOMParser();  
parser.parse(archivo);  


//this xerces  
OutputFormat format = new OutputFormat(parser.getDocument());   
format.setIndenting(true);  

//print xml for console 
//XMLSerializer serializer = new XMLSerializer(System.out, format); 

//save xml in string var 
OutputStream outputStream = new ByteArrayOutputStream(); 
XMLSerializer serializer = new XMLSerializer(outputStream, format); 

//process
serializer.serialize(parser.getDocument()); 


String xmlText = outputStream.toString();  

System.out.println(xmlText); 

//to generate a file output use fileoutputstream instead of system.out 
//XMLSerializer serializer = new XMLSerializer(new FileOutputStream(new File("book.xml")), format);  

URL: http://totheriver.com/learn/xml/xmltutorial.html

См. Д) Сериализация DOM для FileOutputStream для создания XML-файла "book.xml".

Другие вопросы по тегам