문제
나는 현재 JDOM과 함께 일하고 있습니다. 본질적으로 쉬운 문제가되는 해결책을 생각할 수 없습니다.
유효한 xhtml 문자열이 있습니다.
<b>M&A</b> €
다음과 같이 이것을 XML dom에 어떻게 삽입합니까?
<parentNode>
<b>M&A</b>
€
</parentNode>
(이 XML은 XSL 변압기로 이동하여 브라우저의 XHTML을 렌더링합니다)
다음과 같은 '의사'솔루션을 생각해 냈지만 가능한지 확실하지 않습니다.
XML 엔티티가 아닌 ESCAP 엔티티를 삽입 한 다음 삽입하십시오.
XML Entites 만 재 인사 한 다음 HTML은 전체 문자열을 벗어난 다음 삽입합니다.
타라
해결책
나는 당신이 사용할 수 있다고 생각합니다 JTIDY 지명 된 엔티티를 번호가 매겨진 엔티티로 변환합니다. 그 후, XHTML도 유효합니다 XML입니다.
다른 팁
€는 유효한 XHTML 엔티티이지만 유효한 XML은 아닙니다.
불행히도, 나는 JDOM에 대해 아무것도 모르지만 가능하다면 DTD를 추가 할 수 있습니다. 실체 선언 처럼 <!ENTITY euro "€">
. 그리고 아마도 모든 xhtml 태그를 올바른 네임 스페이스에 넣을 수도 있습니다 (<parentNode xmlns:x="http://www.w3.org/1999/xhtml"><x:b>...</x:b></parentNode>
)
포함 된 문자열을 만듭니다
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
+
이 경우 XHTML 컨텐츠입니다 <b>M&A</b> €
+
</html>
그런 다음이 문자열을 구문 분석하여 문서를 얻습니다. 그런 다음 루트 요소 내부의 모든 컨텐츠를 가져 오면 XHTML 컨텐츠가 될 것입니다. 내용이 다른 문서에서 나온다는 것을 고려해야 할 수도 있습니다.