gpt4 book ai didi

c# - 获取深度嵌入的 XML 元素值

转载 作者:太空宇宙 更新时间:2023-11-03 23:35:33 26 4
gpt4 key购买 nike

我正在尝试获取地址的纬度/经度,并且我正在使用 dev.virtualearth.net 上的 XML 提供程序。

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>
<StatusDescription>OK</StatusDescription>
<AuthenticationResultCode>ValidCredentials</AuthenticationResultCode>
<ResourceSets>
<ResourceSet>
<EstimatedTotal>2</EstimatedTotal>
<Resources>
<Location>
<Name>350 Avenue V, New York, NY 11223</Name>
<Point>
<Latitude>40.595024898648262</Latitude>
<Longitude>-73.969506248831749</Longitude>
</Point>

我创建了一个 XDocument 并尝试获取 Point 下的纬度和经度值

XDocument doc = GetDoc();

XNamespace xmlns = "http://schemas.microsoft.com/search/local/ws/rest/v1";

var latlong = from c in docDescendants(xmlns + "Point")
select new
{
latitude = c.Element("Latitude"),
longitude = c.Element("Longitude")
};

但我只是得到纬度和经度值的空值。

我做错了吗?

最佳答案

您也应该对嵌套元素使用命名空间。

string xmlString = 
@"
<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>
<StatusDescription>OK</StatusDescription>
<AuthenticationResultCode>ValidCredentials</AuthenticationResultCode>
<ResourceSets>
<ResourceSet>
<EstimatedTotal>2</EstimatedTotal>
<Resources>
<Location>
<Name>350 Avenue V, New York, NY 11223</Name>
<Point>
<Latitude>40.595024898648262</Latitude>
<Longitude>-73.969506248831749</Longitude>
</Point>
</Location>
</Resources>
</ResourceSet>
</ResourceSets>
</Response>
";
var doc = XDocument.Parse(xmlString);
XNamespace ns = "http://schemas.microsoft.com/search/local/ws/rest/v1";
var positions = doc.Descendants(ns + "Point")
.Select(p =>
new {
Latitude = (double)p.Element(ns + "Latitude"),
Longitude = (double)p.Element(ns + "Longitude")
});

关于c# - 获取深度嵌入的 XML 元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30715557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com