XML내 특수문자가 있는경우

외국 및 특수 문자가 있는 문서를 로드하는 방법?
문서에는 다음과 같은 외국 문자가 포함될 수 있습니다.

<test>foreign characters (挾奬) </test>
uoia와 같은 외국 문자는 확장 문자열로 앞 부분에서 선언해야 합니다. 외국 문자는 UTF-8로 인코딩하거나 다음과 같이 다른 인코딩으로 지정할 수 있습니다.
<?xml version="1.0" encoding="iso-8859-1"?> <test>foreign characters (挾奬) </test>
이제 XML이 올바로 로드됩니다.

XML에서는 기타 문자가 예약되어있으며 또한 다르게 처리해야 합니다.

<foo>This & that</foo>
위의 XML은 다음 오류를 발생시킵니다.
Whitespace is not allowed at this location. Line 0000001: <foo>This & that</foo> Pos 0000012: ----------^
앰퍼샌드(&)는 XML의 통어적 구조의 부분이며 단순히 XML 데이터 소스에 놓이는 경우 앰퍼샌드로 해석되지 않습니다. "엔티티"라는 특수 문자 시퀀스로 대체해야 합니다.

<foo>This & that</foo>
다음 문자들은 해당 엔티티가 필요합니다.

< < & & > > " " ' '
따옴표는 태그 내에서 특성 값에 대한 구분 기호로 사용되며 따라서 특성 값 내에서는 항상 사용할 수 없습니다. 예를 들어 다음은 오류를 반환합니다.
<foo description='John's Stuff'>
여기서 큰따옴표는 특성 구분 기호로 그리고 특성 값 자체에서 모두 사용되었습니다. 이를 해결하려면 다음과 같이 특성 구분 기호에 대한 작은따옴표를 사용하거나

<foo description="John's Stuff">
또는 큰따옴표를 엔티티 '로 확장할 수 있습니다.

<foo description='John' Stuff'>
위의 두 경우 모두 XML 개체 모델(Object Model)의 getAttribute 메서드를 통해 특성 값 John's Stuff를 반환합니다. 작은따옴표의 경우에도 비슷하게 엔티티를 사용할 수 있습니다.
".
또한 텍스트를 CDATA 부분 내에 넣음으로써 요소 내용에 있는 특수 문자를 처리할 수 있습니다. 다음은 유효합니다.

<xml> <![CDATA[ This & that <stuff> is just "text" content. ]]> </xml>
이 예에서 XML 개체 모델은 CDATA 노드를 다음 문자열을 nodeValue로 반환하는 xml 노드의 자식으로 나타냅니다.

This & that <stuff> is just "text" content.