2014-03-27 122 views
0

我面临了异常错误在c#分析错误XML使用视觉工作室IDE

'TaskHost.exe'(CLR C:\ Windows \ System32下\ coreclr.dll:默认域):加载' 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); 请帮我解决这个例外,因为我对这个领域很陌生

+1

Insetad,你试图解析URL自身 - 无法工作。 – Robert

+0

我也使用了XDocument.Load(url1)方法,但它仍然抛出了相同的异常。您能否给我提供正确的解析方法/代码,谢谢 – dheeraj

+0

请参阅[this](http://stackoverflow.com/questions/19370101/如何解析xml-using-c) – LakshmiNarayanan

回答

2

XDocument.Parse(str)解析参数string in parse method。而XDocument.Load方法意味着加载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 ""; 
    } 
} 
+0

@chris ...我很擅长穿线概念 – dheeraj

+0

抱歉,但是您的意思是? –

+0

等待运算符用于多线程对吗? – dheeraj

0

尝试从您的URL1变量的URL获取XML的这个代替

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; 
+0

欢迎来到Stack Overflow!请考虑包含一些关于您的答案的信息,而不是简单地发布代码。我们尝试提供的不仅仅是“修复”,而是帮助人们学习。你应该解释原始代码中的错误,你做了什么不同,以及为什么你的改变起作用。 –