[英]How to get value of child node elements from XDocument in c#
I am trying to access values in an xml response to Bing Maps API. 我正在尝试访问Bing Maps API的xml响应中的值。 I tried doing something like
var responseXml = xdoc.Root.Element("Response").Element("ResourceSets").Element("ResourceSet").Element("EstimatedTotal").Value;
我尝试做类似
var responseXml = xdoc.Root.Element("Response").Element("ResourceSets").Element("ResourceSet").Element("EstimatedTotal").Value;
, but it resulted in an error. ,但导致错误。
Any idea on how to solve this issue? 关于如何解决此问题的任何想法?
code 码
private void RequestCompleted(IAsyncResult result)
{
var request = (HttpWebRequest)result.AsyncState;
var response = (HttpWebResponse)request.EndGetResponse(result);
StreamReader stream = new StreamReader(response.GetResponseStream());
try
{
XDocument xdoc = XDocument.Load(stream);
var responseXml = xdoc.Root.Element("Response").Element("ResourceSets").Element("ResourceSet").Element("EstimatedTotal").Value;
}
catch (Exception ex)
{
MessageBox.Show("Error" + ex.Message);
}
}
xml response xml响应
xdoc.Root
是Element("Response")
,因此请尝试以下操作:
var responseXml = xdoc.Root.Element("ResourceSets").Element("ResourceSet").Element("EstimatedTotal").Value;
Don't know the exact question you're asking Virtual Earth, but you posted a picture of the xml which doesn't exactly give us a clearer picture of the xml. 不知道您要问Virtual Earth的确切问题,但是您发布了xml图片,但并不能为我们提供更清晰的xml图片。
however, try 但是,尝试
var responseXml = xdoc.Descendants("ResourceSets");
That should return an enumerable of XElements containing one to many "ResourceSet" XElements. 那应该返回一个包含一个到多个“ ResourceSet” XElement的XElements枚举。 Those XElements could be queried for Lat/Long with:
可以使用以下命令查询纬度/经度的那些XElement:
var locations = responseXml.Descendents("GeocodePoint");
foreach (var loci in locations)
{
Console.WriteLine(string.Format("Lat: {0} Long: {1}", loci.Element("Latitude"), loci.Element("Longitude"));
}
Use the debugger at that line and play with the xDoc object. 在该行使用调试器,并使用xDoc对象。 It has lots of properties and methods which may be of use.
它具有许多可能有用的属性和方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.