programing

XML의 앰퍼샌드가 HTML의 엔티티로 렌더링되도록 하려면 어떻게 해야 합니까?

padding 2023. 9. 10. 12:00
반응형

XML의 앰퍼샌드가 HTML의 엔티티로 렌더링되도록 하려면 어떻게 해야 합니까?

HTML 페이지로 렌더링하고 싶은 XML 텍스트가 있습니다.이 텍스트에는 앰퍼샌드가 포함되어 있으며, 도면요소 표현에서 렌더링하고자 합니다.&.

소스 XML에서 이 앰퍼샌드를 탈출하려면 어떻게 해야 합니까?&, 그러나 이는 실제 앰퍼샌드 문자로 디코딩됩니다(&), HTML에서는 유효하지 않습니다.

그래서 나는 그것이 다음과 같이 렌더링되는 방식으로 그것을 탈출하고 싶습니다.&XML 출력을 사용하는 웹 페이지에서.

XML에 다음이 포함된 경우&, 이것은 결과적으로 텍스트가 될 것입니다.&.

HTML에서 그것을 사용하면 다음과 같이 렌더링됩니다.&.

XML 1.0 사양의 §2.4에 따라, 당신은 다음을 사용할 수 있을 것입니다.&.

저는 시도해 보았지만 이것은 허용되지 않습니다.

다른 문제가 아닌 게 확실합니까?XML은 이를 앰퍼샌드를 탈출하는 방법으로 명시적으로 정의합니다.

&문자는 그 자체가 XML에서 탈출 문자이므로 해결책은 그것과 유니코드 10진법을 연결하는 것입니다.&따라서 XML 구문 분석 오류가 발생하지 않도록 보장합니다.즉, 문자를 바꿉니다.&와 함께

사용하다CDATA태그:

 <![CDATA[
   This is some text with ampersands & other funny characters. >>
 ]]>

&amp;잘 될 겁니다위키백과에는 XML에 미리 정의된 엔티티 목록이 있습니다.

제 경우에는 다음으로 변경해야 했습니다.%26.

탈출할 필요가 있었습니다.&URL에. 그래서.&amp;저한테는 잘 안 됐어요urlencode 함수가 변경됩니다.&로.%26. 이렇게 하면 XML이나 브라우저 URL 메커니즘 모두 URL에 대해 불평하지 않습니다.

시도해 보았지만 소용이 없었습니다.Wim ten Brink의 답변을 바탕으로 시도해 보았는데 효과가 있었습니다.

동료 개발자 중 한 명이 &#x26;을 사용해보라고 제안했는데, 렌더링 횟수에 상관없이 효과가 있었습니다.

&amp;는 XML 문서의 대부분의 섹션에서 앰퍼샌드를 나타내는 방법입니다.

HTML 내에 XML을 표시하려면 먼저 적절히 인코딩된 XML을 작성해야 합니다(여기에는 변경 내용이 포함됨).&로.&amp;를 사용하여 제대로 인코딩된 HTML을 만듭니다(다시 변경해야 함).&로.&amp;). 결과는 다음과 같습니다.

&amp;amp;

XML 인코딩에 대한 자세한 설명은 다음을 참조하십시오.

XML 문서에서 탈출하려면 어떤 문자가 필요합니까?

<xsl:text disable-output-escaping="yes">&amp;&nbsp;</xsl:text>효과가 있을 겁니다

XML이 아래와 같은지 고려해 보십시오.

<Employees Id="1" Name="ABC">
  <Query>
    SELECT * FROM EMP WHERE ID=1 AND RES<>'GCF'
  <Query>
</Employees>

사용할 수 없습니다.<>직접적으로 오류를 발생시킵니다.그런 경우에는 사용할 수 있습니다.&#60;&#62;그 대신에

<Employees Id="1" Name="ABC">
  <Query>
    SELECT * FROM EMP WHERE ID=1 AND RES &#60;&#62; 'GCF'
  <Query>
</Employees>

14.1 XML에서 특수문자를 사용하는 방법은 모든 코드가 있습니다.

언급URL : https://stackoverflow.com/questions/1328538/how-do-i-escape-ampersands-in-xml-so-they-are-rendered-as-entities-in-html

반응형