ComboBoxItem의 내용에 앰퍼샌드 (&)를 포함하는 방법


84

현재 다음과 같은 Combobox가 있습니다.

//XAML
<ComboBox>
<ComboBoxItem> Awake & Alive</ComboBoxItem>
</ComboBox>

이로 인해 오류가 발생합니다. 앰퍼샌드 '&'로 시작하는 엔티티 참조 또는 시퀀스는 세미콜론 ';'으로 종료되어야합니다.

&를 사용할 수 있도록 일종의 이스케이프 시퀀스가 ​​누락되었다고 가정합니다. &를 포함하도록이 comboboxitem의 내용을 어떻게 설정할 수 있습니까?

답변:


173

&amp;앰퍼샌드를 인코딩하는 데 사용 합니다.

//XAML
<ComboBox>
<ComboBoxItem> Awake &amp; Alive</ComboBoxItem>
</ComboBox>

20

짧은 대답은 앰퍼샌드 &amp;인코딩 하는 데 사용 하는 것입니다.

엔티티 : XML.com에서 특수 콘텐츠 처리를 참조하십시오 .

가장 낮은 수준에서 XML 파서는 XML 문서를 통해 한 번에 한 문자를 읽고 한 가지 또는 다른 방식으로 분석 한 다음 그에 따라 동작하는 프로그램 일뿐입니다. 일부 콘텐츠를 다른 콘텐츠와 다르게 처리해야한다는 것을 알고 있습니다. 이러한 특수한 경우를 구별하는 것은 " &"및 " <" 와 같은 문자가 있다는 것입니다 . 파서에 대한 플래그 역할을합니다. 그들은 문서의 실제 내용을 구분하여, 단순히 인접한 내용을 일부 다운 스트림 응용 프로그램에 전달하는 것 외에이 시점에서 무언가를해야한다는 사실을 파서에게 경고합니다.

... 따라서 당면한 문제를 해결하는 한 가지 방법은 콘텐츠의 앰퍼샌드를 적절한 엔티티 참조로 바꾸는 것 <company>Harris &amp; George</company>입니다..


내 대답에서 용어 (인코딩 대 이스케이프)를 수정했습니다. 관심을 가져 주셔서 감사합니다.
Andy West

귀하의 링크에는>, <, "및 '에 대한 유용한 비교가 있습니다."Entity reference Stands for ... "로 시작하는 표 참조
CrimsonX 2009

GRT 응답 그게 :) thnx :
Apoorva

7

또는 ComboBoxItem 요소의 내용 주위에 CDATA 태그를 사용할 수 있습니다. 나는 그것이 텍스트의 가독성을 더 잘 유지한다고 생각합니다.

//XAML
<ComboBox>
<ComboBoxItem><![CDATA[Awake & Alive]]></ComboBoxItem>
</ComboBox>

참고 : http://www.w3schools.com/xmL/xml_cdata.asp

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.