2010-02-15 5 views
39

XML 노드에서 캐리지 리턴을 표시하려고했습니다.
나는 공백이없는 16 진수 엔티티 인 공백을 시도했다. 과 \ n. 브라우저를 통해보기.XML 캐리지 리턴 인코딩

<Quote> 
Alas, poor Yorick! 
I knew him 
</Quote> 

감사합니다.

답변

1

브라우저에서 공백을 표시하지 않습니다. 리눅스의 od 명령을 사용하여 실제로 무엇이 있는지 확인할 것을 권장합니다. XML 파서를 작성하는 것은 나열한 모든 방법을 존중합니다.

13

xml:space="preserve"은 모든 호환 XML 파서에서 작동해야합니다.

그러나, HTML에서 줄 바꿈 (이는 <br /> (X) HTML 태그로 표현된다 단지 공백이 아닌 줄 바꿈 떨어져 있음을 알아, 어쩌면 이것은 당신이 직면하고있는 문제입니다.

당신이 할 수있는 또한 CR/LF 문자를 삽입 할 &#10; 및/또는 &#13;를 추가합니다.

+1

은 저에게 큰 도움이되었습니다. 플래시로 HTML로 렌더링됩니다. – thomallen

+1

레코드의 경우 PC의 시퀀스는 적어도 CR 이고 그 뒤에 LF 이 오지만 요즘에는 일반적으로 단일 LF이면 충분합니다. –

+1

또한 xml : space = "prserve"를 사용하는 경우에도 XML 구문 분석기는 [구문 분석 전에 '13 10'(및 다른 시퀀스)을 '10'으로 바꿔야합니다.] (https : //www.w3 .org/TR/xml11/# sec-line-ends). '& # xD' (https://www.w3.org/TR/xml11/#sec-common-syn)와 같은 문자 엔티티 참조를 사용하여 파싱 할 때 생존 할 CR을 입력 할 수 있습니다. – binki

65

를 XML에 CR을 삽입하려면, 당신은 문자 엔티티를 사용할 필요가 &#13;.

이 호환 XML 파서가 구문 분석하기 전에 변환해야하기 때문에 CRLF와 죄에 LF가 뒤 따르지 않는 모든 CR 글자 LF. 이 동작은 XML 1.0 사양의 End-of-Line handling 섹션에 정의되어 있습니다.

+17

사소한 점 - CR은 이고 은 LF가 아닙니다 - 자세한 내용은이 ascii 표를 참조하십시오 ... http://www.asciitable.com/ ... –

+4

예, 은 LF이고 은 CR입니다. Windows 세계는 대개 CRLF 시퀀스 (즉, )를 가지고 있으며, Linux는 LF ( ) 만 가지고 있습니다. – Luke

+0

10 진수로 작동시키지 못했지만 16 진수로 괜찮 았습니다. &#A; – MikeF

관련 문제