2012-06-07 5 views
0

Dom4j 1.6.1 HTMLWriter не имеет декларации XML, даже если установлен в режим XHTML. Исправлено, обратившись к XMLWriter, но затем я пропускаю все функции HTML.dom4j HTMLWriter отсутствует объявление XML

import org.dom4j.Document; 
    import org.dom4j.DocumentHelper; 
    import org.dom4j.Element; 
    import org.dom4j.io.HTMLWriter; 
    import org.dom4j.io.OutputFormat; 
    import org.dom4j.io.XMLWriter; 

    OutputFormat format = new OutputFormat(); 
    format.setEncoding("UTF-8"); 
    format.setXHTML(true); 
    format.setOmitEncoding(false); 
    format.setSuppressDeclaration(false); 

    HTMLWriter writer = null; 
    try { 
     writer = new HTMLWriter(format); 
    } catch (UnsupportedEncodingException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
    try { 
     writer.write(createDocument()); 
     writer.flush(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

ответ

1

Действительно. Как правило, не рекомендуется размещать XML-объявление в верхней части HTML-файла, и вам стоит подумать, действительно ли это вам нужно.

Если вы действительно это делаете, вам необходимо создать свой собственный класс Writer, расширенный из HTMLWriter, с реализацией writeDeclaration(), взятой из класса XMLWriter или реализованной в соответствии с вашими требованиями.