2010-05-10 5 views
-1

& nbsp와 같은 요소가 포함 된 DOM을 출력하려고합니다. html 파일로 보내지 만, & amp; nbsp; 출력에서는 분명히 바람직하지 않습니다.& '를 사용하여 DOM을 HTML로 출력

Transformer transformer = TransformerFactory.newInstance().newTransformer(); 
    transformer.setOutputProperty(OutputKeys.METHOD, "html"); 
    Result result = new StreamResult(output); 
    transformer.transform(new DOMSource(document), result); 

그냥 출력을 얻을 수 어쨌든이 다음과 같이 내 코드입니다 & NBSP; (그리고 아니, 대체 & nbsp; 입력에서 옵션이 아닙니다)?

+0

Transform 클래스에 대해 충분히 알지 못하지만 출력 이스케이프 사용 안 함 옵션이 있습니까? – Oded

+0

입력 내용이 XML 문서입니까? 예인 경우 " "을 어떻게 포함 할 수 있습니까? 그것은 # 160이어야합니다; 대신에? –

+0

입력 내용이 XML이 아니므로 HTML은 웹에있는 것과 같으므로 (불행히도)  을 포함합니다. – Darioush

답변

0

HTML이 유효한 XML이 되려면 & nbsp; 문서에는   엔티티를 정의하는 DOCTYPE이 있어야합니다.

그것을 할 수있는 문서의 시작 부분에

<!DOCTYPE document SYSTEM "document.dtd" [ 
<!ENTITY nbsp "&#160;"> 
]> 

닮은 무언가를 추가. 그러나이 작업은 실제 소스 문서에서 수행하거나 DOM으로 파싱하는 데 사용되는 스트림에서 시작해야합니다. 문서가 생산 당신의 라인

transformer.transform(new DOMSource(document), result); 

에서 참조하는 방법을 보여주는 몇 가지 코드를 게시 할 경우

, 내가 생각할 더 명시 적으로 도움을 줄 수 있습니다.

관련 문제