2011-10-16 3 views
3

어디서나 HTML 전문을 사용하여 xml 특수 문자를 이스케이프 처리하지만 XML 구문 분석 오류가 발생합니다. 받은 오류 메시지는 "확인되지 않은 항목"이며 & amp에서 발생합니다. 및 & 등록; 자국 (공백없이). 이 문제를 어떻게 해결할 수 있으며 왜 아직도 오류가 발생합니까?xml은 "&", "®"으로 구문 분석하지만 여전히 오류가 발생합니다.

<?xml version="1.0" encoding="UTF-8"?> 
<maps> 
    <location id="tx"> 
     <item label="Lobby &amp; Entrance" xpos="125" ypos="112" /> 
     <item label="Restaurant &amp; Bar" xpos="186" ypos="59" /> 
     <item label="Swimming Pool" xpos="183" ypos="189" /> 
     <item label="Nautilus Gym&reg;" xpos="154" ypos="120" /> 
    </location> 
</maps> 

답변

11

교체 기준 : &reg; :까지 &#174;&amp; : &#38;

과는 XML 모든 지역 내 모습

+0

이 문제가 해결되었습니다. 고맙습니다! – Stanley

6

XML에는 소수의 "내장"문자 엔티티 이름 만 있습니다. "앰프"는 내장 기능 중 하나이므로 오류가 발생하는 것 같지 않습니다. 그러나 "reg"는 내장되어 있지 않습니다.

는 등록의 장소에 숫자 참조를 사용 당신도 할 수있는이 문제를 해결 실제 문자를 사용하거나이 같은 등록에 대한 엔티티 선언을 포함합니다 :

<!ENTITY reg "&#174;"> 

당신이 얻을 수있는 XHTML DTDs에서 볼 수 있습니다 HTML 엔티티에 대한 엔티티 선언의 완전한 세트.

1

XML은 엔티티를 &amp;, &lt;&gt;으로 정의합니다. &reg;은 어떤 식 으로든 신고하지 않는 한 유효하지 않습니다.

1

이 게시물 자신의 HTML을 XML 특수 문자를 탈출하는 날을 말하고있다 유효합니다 개체

하지 마십시오. XML 엔티티를 사용하십시오.

내가받는 오류 메시지는 "확인되지 않은 개체"이며 &amp;&reg; 마크로 발생합니다.

&amp;과 마찬가지로 XML의 일부로 문제가 발생하지 않아야합니다. 깨진 파서를 사용해야합니다. 이것을 파싱하는 데 사용하는 코드를 제공하지 않았기 때문에 알기는 어렵습니다. 반면에 XML 파서를 정의하는 DTD를 포함하지 않는 한

&reg;은 XML 파서로 구문 분석하면 안됩니다. 숫자 엔티티 또는 실제 문자와 적절한 (UTF-8) 문자 인코딩을 사용하십시오.

관련 문제