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

snipet вашего XML является недействительным (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

Смежные вопросы