2010-12-09 2 views
4

xml의 아포스트로피가 '으로 이스케이프되어야하는 문자열이 있는데 그렇지 않습니다.데이터 바인딩의 XML에서 아포스트로피 이스케이프

<city place="park's place"/> 

html에서는 값을 얻습니다.

<span datafld="place"></span> 

나는 "공원 &apos;의 장소"가 아니라 공원의 장소로 자리에 값이 필요합니다. 현재 "공원의 장소"를 보여줍니다.

나는 대답을 찾으려고 많은 시간을 보냈으므로 찾을 수없는 것처럼 보입니다.

원본 코드를 표시 할 수 없으므로이 코드 예는 심각하게 해킹되었습니다.

감사합니다.

편집 : 이것은 javascript를 사용하는 xhtml 페이지입니다.

+1

사용중인 언어, 플랫폼 또는 API에 대해 아무 것도 알려주지 않습니다. 네 문제가 뭔지도 모르겠다. –

+0

왜 탈출해야합니까? 그렇게하면 똑같은 데이터를 얻을 수 있지만 5 바이트가 추가되고 가독성은 떨어집니다. – Quentin

+0

'datafld' 속성이 있다면 XHTML이 없습니다. – Quentin

답변

2

XML "데이터 모델"에서 모든 값은 이스케이프 처리되지 않습니다.

place="park's place" 

나 :

place="park&apos;s place" 

나 :

place="park&#39;s place" 

당신은 XML 파서 (또는 DOM)를 사용할 때 "거야 공원의 당신의 속성으로 지정되었다 그래서 여부 장소". ("innerHTML"과 같은 것들은이 일반적인 규칙의 예외입니다.)

다른 레벨의 이스케이프 처리가 필요한 다른 문자열과 비교해야 할 경우 DOM에서 가져온 문자열을 이스케이프 처리하거나, 또는 다른 문자열을 이스케이프 처리해야합니다. 미터 단위의 측정 값과 피트 단위의 측정 값을 비교하는 것이 좋습니다 : 일반적인 측정 단위/탈출 수준으로 변환해야합니다.

가능한 경우 엔 이스케이프 처리 방법을 사용합니다. 그럴 수 없다면 일관된 방법으로 도망쳐 야합니다. 도처에서으로 어려울 수 있습니다. 합법적으로 특정 문자열을 이스케이프 처리하는 세 가지 방법을 보여 드렸습니다. 더 많은 문자열이 있습니다.

+0

당신이 말하는 것은 내 편이 아닙니다. 나는 "park' ''의 위치를 ​​데이터베이스에 넣고 XML을 형성했지만 위에 표시된 범위에 여전히"park' ''place "를 표시합니다.어느 쪽이든 내가 문자열을 형성하면 이스케이프 또는 이스케이프없이 데이터 파일에서 나온 것과 똑같습니다. – Primetime

+0

나는 DOM이나 SAX 또는 비슷한 XML (나는 당신이 자바를 사용한다고 언급했기 때문에 DOM을 사용하고 있다고 가정한다.)을 사용하는 것에 대해 이야기하고있다. XML을 작성하는 것은 완전히 다른 것입니다. 이 XHTML을 생성하기 위해 사용하는 것을 말하지 않았지만 일반적으로 XML에서 이스케이프 처리되는 문자에 대해 염려해야한다. 대신에 이스케이프 처리되지 않는 DOM과 같은 것을 사용해야한다. –

관련 문제