我正在尝试使用Bing地图API,它会返回一个XML文档。该文件(简化但保持结构)是无法使用XDocument查询XML文档并获得期望的结果
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/search/local/ws/rest/v1">
<StatusCode>
200
</StatusCode>
<ResourceSets>
<ResourceSet>
<Resources>
<TrafficIncident>
<Severity>
Minor
</Severity>
<RoadClosed>
false
</RoadClosed>
</TrafficIncident>
</Resources>
</ResourceSet>
</ResourceSets>
</Response>
在这种情况下,只有1个流量问题,但可能有很多。
我想如果道路被关闭提取和严重性
的XML存储在xd
对象(类型XDocuement
)
下工作正常(没有错误,但返回所有元素)
var allNodes = (from x in xd.Descendants()
select x).ToList();
,但如果我添加元素的名称则返回0项
列表我认为上面的代码是说:
从XD,抓住所有的“资源”元素的后裔
如果我的理解是正确的,为什么它返回0结果
只是为了澄清,是'xd'的''Response'元素的根?即你没有加载不同的元素,对吧? – Yuck
此外,我目前无法测试,但试试'xd.Descendants(“// Resources”)' – Yuck
嗯......正如我所说,目前无法测试。有一些方法可以让你使用XPath来查询文档结构。我想不起来。 – Yuck