簡體   English   中英

使用visual studio IDE在c#中進行XML解析錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM