[英]XML parsing error in c# using visual studio IDE
我正面臨一個例外錯誤,如下所示
'TaskHost.exe'(CLR C:\\ windows \\ system32 \\ coreclr.dll:DefaultDomain):已加載'C:\\ windows \\ system32 \\ mscorlib.ni.dll'。 跳過加載符號。 模塊已經過優化,調試器選項“Just My Code”已啟用。 'TaskHost.exe'(CLR C:\\ windows \\ system32 \\ coreclr.dll:Silverlight AppDomain):已加載'C:\\ windows \\ system32 \\ System.Windows.RuntimeHost.ni.dll'。 跳過加載符號。 模塊已經過優化,調試器選項“Just My Code”已啟用。 'TaskHost.exe'(CLR C:\\ windows \\ system32 \\ coreclr.dll:Silverlight AppDomain):已加載'C:\\ windows \\ system32 \\ System.Windows.ni.dll'。 跳過加載符號。 模塊已經過優化,調試器選項“Just My Code”已啟用。 'TaskHost.exe'(CLR C:\\ windows \\ system32 \\ coreclr.dll:Silverlight AppDomain):加載'C:\\ windows \\ system32 \\ System.Net.ni.dll'。 跳過加載符號。 模塊已經過優化,調試器選項“Just My Code”已啟用。 'TaskHost.exe'(CLR C:\\ windows \\ system32 \\ coreclr.dll:Silverlight AppDomain):已加載'C:\\ windows \\ system32 \\ System.ni.dll'。 跳過加載符號。 模塊已經過優化,調試器選項“Just My Code”已啟用。 'TaskHost.exe'(CLR C:\\ windows \\ system32 \\ coreclr.dll:Silverlight AppDomain):已加載'C:\\ windows \\ system32 \\ System.Xml.ni.dll'。 跳過加載符號。 模塊已經過優化,調試器選項“Just My Code”已啟用。 'TaskHost.exe'(CLR C:\\ windows \\ system32 \\ coreclr.dll:Silverlight AppDomain):已加載'C:\\ Data \\ Programs {00C6B4E0-1F82-4D23-9C2D-A1E2386F73FB} \\ Install \\ parsing.DLL'。 符號已加載。 'TaskHost.exe'(CLR C:\\ windows \\ system32 \\ coreclr.dll:Silverlight AppDomain):已加載'C:\\ windows \\ system32 \\ Microsoft.Phone.ni.dll'。 跳過加載符號。 模塊已經過優化,調試器選項“Just My Code”已啟用。 'TaskHost.exe'(CLR C:\\ windows \\ system32 \\ coreclr.dll:Silverlight AppDomain):加載'C:\\ windows \\ system32 \\ Microsoft.Phone.Interop.ni.dll'。 跳過加載符號。 模塊已經過優化,調試器選項“Just My Code”已啟用。 'TaskHost.exe'(CLR C:\\ windows \\ system32 \\ coreclr.dll:Silverlight AppDomain):已加載'C:\\ windows \\ system32 \\ System.Core.ni.dll'。 跳過加載符號。 模塊已經過優化,調試器選項“Just My Code”已啟用。 'TaskHost.exe'(CLR C:\\ windows \\ system32 \\ coreclr.dll:Silverlight AppDomain):已加載'C:\\ windows \\ system32 \\ System.Xml.Linq.ni.dll'。 跳過加載符號。 模塊已經過優化,調試器選項“Just My Code”已啟用。 'TaskHost.exe'(CLR C:\\ windows \\ system32 \\ coreclr.dll:Silverlight AppDomain):已加載'C:\\ windows \\ system32 \\ en-US \\ System.Xml.debug.resources.DLL'。 模塊沒有符號。 System.Xml.ni.dll中出現類型為“System.Xml.XmlException”的第一次機會異常System.Xml.ni.dll中發生類型為“System.Xml.XmlException”的異常,但未在用戶代碼中處理程序'[2380] TaskHost.exe已退出,代碼為-1(0xffffffff)。
用於解析的代碼是
string url1 = "http://maps.googleapis.com/maps/api/geocode/xml?address=Bangalore&sensor=false";
XDocument doc = XDocument.Parse(url1);
var lat = doc.Descendants(XName.Get("lat", url1)).FirstOrDefault();
result.Text = (string)lat;
我正面臨XDocument.Parse(url1)行的錯誤; 你能不能幫助我克服這個例外,因為我是這個領域的新手
XDocument.Parse(str) string in parse method
param string in parse method
。 並且XDocument.Load方法意味着a file in your XAP package
加載a file in your XAP package
。 但您想從網站加載xml文件。 你可以發送請求到URL並讀取響應,然后解析它。 像這樣:
string url1 = "http://maps.googleapis.com/maps/api/geocode/xml?address=Bangalore&sensor=false";
string content = await HttpHelper.GetResponse(url1);
XDocument doc = XDocument.Parse(content);
var lat = doc.Descendants(XName.Get("lat")).FirstOrDefault();
result.Text = (string)lat;
這里的getResponse方法:
public async static Task<string> GetResponse(string url)
{
try
{
WebRequest request = HttpWebRequest.Create(url);
request.ContentType = "application/xml";
WebResponse response = await request.GetResponseAsync();
StreamReader reader = new StreamReader(response.GetResponseStream());
string content = reader.ReadToEnd();
reader.Dispose();
response.Dispose();
return content;
}
catch
{
return "";
}
}
試試這個
string url1 = "http://maps.googleapis.com/maps/api/geocode/xml?address=Bangalore&sensor=false";
string content = await HttpHelper.GetResponse(url1);
XDocument doc = XDocument.Parse(content);
var lat = doc.Descendants(XName.Get("lat")).FirstOrDefault();
result.Text = (string)lat;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.