2014-01-27 2 views
0

아래 텍스트를 XML 파일에서 읽으려고합니다. 그러나 그것을 읽지 않는 문제에 직면했다.xml이 URL을 읽을 수 없습니다.

<link rel="self" type="application/json" href="https://api.demo.com/1/2/search?client_id=7f9d55eaaa844b48bb3cd98040f84382&DD=5000&BB=40.7142&AA=-74.0064"/> 

'=', '&'특수 문자 읽기 나에게 오류를주는.

XML 예외 예기치 않은 토큰 ' "'처리되지 않은이었다 예상되는 토큰입니다. ';'.. 9 호선, 위치 이러한 문자로 170

소스에서 생성 된 자동 있습니다 내가 할 수있는 일이를 방지하기 위해 문제가있을 수 있습니다. 아래

내가 사용하고있는 코드입니다.

Dictionary<string, object> idict = new System.Collections.Generic.Dictionary<string, object>(); 
     using (XmlReader reader = XmlReader.Create(strXMLPath)) 
     { 
      while (reader.Read()) 
      { 
       if (reader.NodeType == XmlNodeType.Element && reader.LocalName == "data") 
       { 
        reader.MoveToAttribute("name"); 
        string key = reader.Value; 
        reader.MoveToContent(); 
        object value = reader.ReadElementContentAsObject(); 
        idict.Add(key, value); 
       } 
      } 
      reader.Close(); 
     } 

답변

1

당신의 XML의 snipet은 (당신이 할 수있는 경우) (character '=' is grammatically unexpected가). 나는 CData을 사용, seggest 무효 인 당신의을에을 넣습니다. 따라서 XML은 다음과 같습니다.

<link rel="self" type="application/json"> 
    <href><![CDATA[https://api.demo.com/1/2/search?client_id=7f9d55eaaa844b48bb3cd98040f84382&DD=5000&BB=40.7142&AA=-74.0064]]></href> 
</link> 
+0

솔루션이 정상적으로 작동합니다. 그러나이 XML은 공급자로부터 왔습니다. 나는 그것을 업데이트 할 수 없다. – Pramod

관련 문제