2014-01-27 70 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)。我seggest(如果可以的話),使用CData在您href將被放置。因此,您的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