HTML 페이지에서 렌더링하려는 XML 텍스트가 있습니다. 이 텍스트에는 앰퍼샌드가 포함되어 있으며 엔티티 표현으로 렌더링하려고합니다 &
.
소스 XML에서이 앰퍼샌드를 어떻게 피할 수 있습니까? 나는 시도 &
했지만 이것은 실제 앰퍼샌드 문자 ( &
) 로 디코딩 되어 HTML 에서는 유효하지 않습니다 .
따라서 &
XML 출력을 사용하는 웹 페이지에서와 같이 렌더링되는 방식으로 이스케이프 처리하고 싶습니다 .
HTML 페이지에서 렌더링하려는 XML 텍스트가 있습니다. 이 텍스트에는 앰퍼샌드가 포함되어 있으며 엔티티 표현으로 렌더링하려고합니다 &
.
소스 XML에서이 앰퍼샌드를 어떻게 피할 수 있습니까? 나는 시도 &
했지만 이것은 실제 앰퍼샌드 문자 ( &
) 로 디코딩 되어 HTML 에서는 유효하지 않습니다 .
따라서 &
XML 출력을 사용하는 웹 페이지에서와 같이 렌더링되는 방식으로 이스케이프 처리하고 싶습니다 .
답변:
XML에 내용 &
이 포함되면 텍스트가 &
됩니다.
HTML에서 사용하면로 렌더링됩니다 &
.
당 은 XML 1.0 사양의 §2.4 , 당신은 사용할 수 있어야합니다 &
.
나는 & amp; 그러나 이것은 허용되지 않습니다.
다른 문제가 아닙니까? XML은이를 앰퍼샌드를 피하는 방법으로 명시 적으로 정의합니다.
&
솔루션은 IT와 상당 유니 코드 소수점 연결하는, 그래서 문자 자체 XML에서 이스케이프 문자 &
, 따라서 오류를 구문 분석에는 XML이 없음을 보장합니다. 즉, 문자를로 &
바꿉니다 &
.
&
CDATA
태그 사용 :
<![CDATA[
This is some text with ampersands & other funny characters. >>
]]>
&
제대로 작동하려면 Wikipedia에는 XML로 미리 정의 된 엔터티 목록이 있습니다.
내 경우에는로 변경해야했습니다 %26
.
&
URL에서 탈출해야했습니다 . 그래서 &
나를 위해 운동하지 않았다. 를 urlencode의 기능 변경 &
에 %26
. 이런 식으로 XML이나 브라우저 URL 메커니즘이 URL에 대해 불평하지 않았습니다.
&
XML 문서의 대부분의 섹션에서 앰퍼샌드를 나타내는 방법입니다.
당신은 XML은 HTML에 표시하도록하려면 먼저 제대로 인코딩 된 XML을 생성 (변경 포함하는 필요 &
에 &
) 및 다음 (다시 변경 포함 적절하게 인코딩 된 HTML 만들기 위해 그것을 사용 &
하는 방법에 대해 &
). 결과는 다음과 같습니다.
&amp;
XML 인코딩에 대한 자세한 설명은 다음을 참조하십시오.
<xsl:text disable-output-escaping="yes">& </xsl:text>
트릭을 할 것입니다.
유니 코드를 사용하는 것은 \u0026
어떻습니까? 내 안드로이드 XML 파일에서 작동합니다. 문제가 발생하면 누군가 알려주세요.
\u
이스케이프는 일반적으로 XML에서 특별한 의미가 없습니다. -1.
XML이 아래와 같은지 고려하십시오.
<Employees Id="1" Name="ABC">
<Query>
SELECT * FROM EMP WHERE ID=1 AND RES<>'GCF'
<Query>
</Employees>
<>
오류가 발생 하여 직접 사용할 수 없습니다 . 이 경우, <>
대신 사용할 수 있습니다 .
<Employees Id="1" Name="ABC">
<Query>
SELECT * FROM EMP WHERE ID=1 AND RES <> 'GCF'
<Query>
</Employees>