2012-11-20 5 views
2

위의 질문에 언급했듯이 xml이있는 문자열을 구문 분석하려고합니다. XDocument 클래스와 XElement 클래스를 사용하여 XML에있는 정보를 사전으로 구문 분석합니다.특수 문자로 XML 구문 분석

XDocument xDoc = XDocument.Parse(xmlString); 
Dictionary<string, string> dic = new Dictionary<string,string>(); 
foreach(XElement x in xDoc.Root.Descendants()) 
{ 
    temp.Add(x.Name.ToString(),x.Value.ToString()); 
} 

** xmlString을가 XML 내용을

보통 xmlString을이 특수 문자의 어떤 종류가있는 경우를 제외하고 잘 작동이 ('>', '이 문자열은 다음과 같습니다 코드는 다음과 같이 보입니다 < ','& ')를 태그에 추가하십시오. 예를 들어 이런 식으로 뭔가가 나타납니다 때

<Content> #include <stdio.h> </Content> 

나는 그가 믿는 것은 볼 수 있어야 않은 XML 태그가 일반 텍스트를 가지고 있습니다에서 나는 C#을 이후이 경우에 작동하지 않습니다 구현 된 코드를 보이는 것으로 가정. 기본적으로, 내 질문에 어떻게 내가 특수 문자를 포함하는 XML 이런 종류의 구문 분석 할 수있는 전에 내가 말한 하나있다?

+0

피드에 액세스 할 수 있고 출력하기 전에 xml 값을 htmlencode로 지정하면 – NSjonas

+0

제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야합니다"로 표시되어야합니다. –

+0

이것은 XML이 아닙니다. XML은 메타 문자로 '>', '<', '&'를 정의하며 이는 사용자가 가지고있는 것과 다릅니다. 'XDocument'는 XML에서만 작동합니다. XML을 보내기 위해 문자열을 보내는 것은 무엇이든 가져와야합니다. –

답변

3

올바르게 이해하면 잘못된 xml을 구문 분석하려고합니다.

가능한 경우이 XML을 생성하고 유효하게 만드는 코드를 수정하는 것이 좋습니다.

당신이 쓰지 않는다면,이 특수 문자를 인코딩 된 변형으로 변환 할 함수를 작성하거나 사용해야합니다.