我从网络服务获取地理信息。
我试图解析返回数据几个小时,但一直没有。
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
string result = reader.ReadToEnd();
XDocument document = XDocument.Parse(result, LoadOptions.None);
我得到了这个
document <html>
<body>
<state>Apure</state>
<municipality>RÓMULO GALLEGOS</municipality>
<parish>URBANA ELORZA</parish>
<street>La Trinidad De Arauca</street>
</body>
</html> System.Xml.Linq.XDocument
我试试
document.Elements("state")
document.Descendants("body")
document.GetElementsByTagName("state");
但没有。
我确信有一种简单的方法可以做一些基本的事情。
我正在认真考虑将其转换为字符串并自行解析。
有条件的考虑:
字段中包含的结果是变量。
因为有些信息没有所有字段。
答案 0 :(得分:0)
好的,我做了一个改变。
我读了一个XElement而不是XDocument;
XElement sitemap = XElement.Parse(result, LoadOptions.None);
foreach (var bodyElement in sitemap.Elements("body"))
{
foreach (var fieldElement in bodyElement.Elements())
{
Console.WriteLine(fieldElement.Name);
Console.WriteLine(fieldElement.Value);
}
}
可能有一种方法可以跳过第一个foreach,但仍在寻找它 @Jonesy行有效,但这意味着我必须知道字段名称。这样我就可以为我得到的值创建信息。