[xml] XML 속성 값에서 큰 따옴표를 이스케이프 처리하려면 어떻게해야합니까?

다음 시험에서

<tag attr="\"">
<tag attr="<![CDATA["]]>">
<tag attr='"'>

내가 마지막으로 사용하는 XML 파서는 마지막 하나만 작동합니다. 대안이 있습니까?



답변

당신이 사용할 수있는 &quot;


답변

로부터 XML 사양 :

속성 값이 작은 따옴표와 큰 따옴표를 모두 포함 할 수 있도록, 아포스트로피 또는 작은 따옴표 문자 ( ‘)는 “‘로 표시되고 큰 따옴표 문자 (“)는 “” “로 표시 될 수 있습니다.


답변

큰 따옴표 문자 ( ") 로 이스케이프 &quot;있지만 나머지 부분은 다음과 같습니다.

이 문맥에서 큰 따옴표 문자 이스케이프 되어야합니다 .

  • 큰 따옴표로 구분 된 XML 속성에서 :

    <EscapeNeeded name="Pete &quot;Maverick&quot; Mitchell"/>

대부분의 상황에서 큰 따옴표 문자를 이스케이프 할 필요는 없습니다 .

  • XML 텍스트 컨텐츠에서 :

    <NoEscapeNeeded>He said, "Don't quote me."</NoEscapeNeeded>
  • 작은 따옴표 ( ')로 구분 된 XML 속성에서 :

    <NoEscapeNeeded name='Pete "Maverick" Mitchell'/>

    마찬가지로 속성 값 구분 기호에 '( ")가 사용되는 경우 ( )는 이스케이프 처리를 요구하지 않습니다 .

    <NoEscapeNeeded name="Pete 'Maverick' Mitchell"/>

또한보십시오


답변

코더 도구 상자 사이트 의 문자열 변환 페이지 는 XML 요소에 값으로 포함하기 위해 소량의 HTML 또는 XML 코드를 인코딩하는 데 유용합니다.


답변