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

#java #html-parsing #transformer #neko

#java #html-синтаксический анализ #transformer-модель #neko

Вопрос:

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

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

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

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

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

Комментарии:

1. Пожалуйста, определите, что такое «writer». FileWriter можно использовать для записи в файл, а StringWriter — для записи в строковый буфер

Ответ №1:

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

Ответ №2:

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

 //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#6.2

Смотрите e) Сериализуйте DOM в FileOutputStream для генерации xml-файла «book.xml « .