문제

나는 현재 JDOM과 함께 일하고 있습니다. 본질적으로 쉬운 문제가되는 해결책을 생각할 수 없습니다.

유효한 xhtml 문자열이 있습니다.

<b>M&amp;A</b> &euro;

다음과 같이 이것을 XML dom에 어떻게 삽입합니까?

<parentNode>
  <b>M&amp;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&amp;A</b> &euro;

+

</html>

그런 다음이 문자열을 구문 분석하여 문서를 얻습니다. 그런 다음 루트 요소 내부의 모든 컨텐츠를 가져 오면 XHTML 컨텐츠가 될 것입니다. 내용이 다른 문서에서 나온다는 것을 고려해야 할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top