XDocument C # анализирует значение узла внутри узла

И здесь, для тех, кто еще не удовлетворен, исходный код из класса .NET-Frameworks GeoCoordinate, реорганизован в автономный метод:

public double GetDistance(double longitude, double latitude, double otherLongitude, double otherLatitude)
{
    var d1 = latitude * (Math.PI / 180.0);
    var num1 = longitude * (Math.PI / 180.0);
    var d2 = otherLatitude * (Math.PI / 180.0);
    var num2 = otherLongitude * (Math.PI / 180.0) - num1;
    var d3 = Math.Pow(Math.Sin((d2 - d1) / 2.0), 2.0) + Math.Cos(d1) * Math.Cos(d2) * Math.Pow(Math.Sin(num2 / 2.0), 2.0);

    return 6376500.0 * (2.0 * Math.Atan2(Math.Sqrt(d3), Math.Sqrt(1.0 - d3)));
}
0
задан User987 22 March 2019 в 15:04
поделиться

2 ответа

FeedBackScore = Convert.ToInt32(item.Descendants(ns + "FeedbackScore").Value)
0
ответ дан Django 22 March 2019 в 15:04
поделиться

Вы ошибочно проверили имена узлов Seller, а не их дочерних элементов. Таким образом, FirstOrDefault() даст null (условие Where() никогда не выполняется из-за неправильного узла), а Convert.ToIn32(null) даст 0.

Чтобы исправить это, вы можете напрямую перейти к узлу «FeedbackScore» и преобразовать его значение следующим образом

FeedBackScore = Convert.ToInt32(item.Descendants("FeedBackValue").FirstOrDefault()?.Value),
0
ответ дан LittleBit 22 March 2019 в 15:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: