2012-06-07 2 views
0

dom4j 1.6.1 XHTML 모드로 설정된 경우에도 HTMLWriter에 XML 선언이 없습니다. 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 파일의 맨 위에 두는 것은 좋지 않으므로 실제로 필요한지 여부를 고려해야합니다.

정말로 그렇다면 HTMLWriter에서 확장 된 writer 클래스를 만들고 XMLWriter 클래스에서 가져 오거나 요구 사항에 맞게 구현 한 writeDeclaration()을 구현해야합니다.

관련 문제