У меня следующий файл XMLКак я могу суммировать население всего города в каждой утилите (данные XML) с помощью C#?
<?xml version="1.0" encoding="UTF-8"?>
<DetailedUtilityCollection SchemaVersion="1.0">
<DetailedUtility UtilityId="720" UtilityName="Chelan County Public Utility District" CountryCode="US" StateCode="WA">
<Rate Id="2350" Name="Residential Service (Schedule 1)" Sector="Residential" Metering="OptionalNetMetering" IsDefault="true" IsTimeOfUse="false" />
<Rate Id="2351" Name="General Service - Nondemand (Schedule 2)" Sector="Commercial" Metering="OptionalNetMetering" IsDefault="true" IsTimeOfUse="false" />
<Rate Id="2352" Name="General Service - Demand (Schedule 2)" Sector="Commercial" Metering="OptionalNetMetering" IsDefault="false" IsTimeOfUse="false" />
<City Name="Cashmere" Population="7233">
<CityLocation Zip="98815" Lat="47.53593" Lng="-120.494571" />
</City>
<City Name="Chelan" Population="6394">
<CityLocation Zip="98816" Lat="47.901204" Lng="-120.139618" />
</City>
<City Name="Entiat" Population="1953">
<CityLocation Zip="98822" Lat="47.885389" Lng="-120.47078" />
</City>
<City Name="Leavenworth" Population="6504">
<CityLocation Zip="98826" Lat="47.82259" Lng="-120.825267" />
</City>
<City Name="Wenatchee" Population="40977">
<CityLocation Zip="98801" Lat="47.451974" Lng="-120.330783" />
<CityLocation Zip="98802" Lat="47.494001" Lng="-120.193856" />
<CityLocation Zip="98807" Lat="47.4236" Lng="-120.3092" />
</City>
<City Name="West Wenatchee" Population="40977">
<CityLocation Zip="98801" Lat="47.451974" Lng="-120.330783" />
</City>
</DetailedUtility>
<DetailedUtility UtilityId="721" UtilityName="Clallam County PUD" CountryCode="US" StateCode="WA">
<Rate Id="2353" Name="General Service - Residential, Farm (Schedule E-4)" Sector="Residential" Metering="OptionalNetMetering" IsDefault="true" IsTimeOfUse="false" />
<Rate Id="2354" Name="General Service - Commercial (Schedule E-4)" Sector="Commercial" Metering="OptionalNetMetering" IsDefault="true" IsTimeOfUse="false" />
<Rate Id="2355" Name="Large Power Service (Schedule E-5)" Sector="Commercial" Metering="OptionalNetMetering" IsDefault="false" IsTimeOfUse="false" />
<City Name="Forks" Population="6261">
<CityLocation Zip="98331" Lat="47.851473" Lng="-124.28411" />
</City>
<City Name="Neah Bay" Population="1414">
<CityLocation Zip="98357" Lat="48.332856" Lng="-124.639563" />
</City>
<City Name="Port Angeles" Population="22230">
<CityLocation Zip="98362" Lat="47.99614" Lng="-123.38281" />
<CityLocation Zip="98363" Lat="48.017263" Lng="-123.824588" />
</City>
<City Name="Port Angeles East" Population="-1" />
<City Name="Sequim" Population="26856">
<CityLocation Zip="98382" Lat="48.025762" Lng="-123.061784" />
</City>
</DetailedUtility>
</DetailedUtilityCollection>
Как я могу получить сумму всех городских жителей в каждом utilityid в C#. Пожалуйста, помогите мне.
Я пробовал следующие коды, но никто не работает для меня.
xmlDoc.LoadXml(strFetchResData);
//dynamic BillUtilityData = JsonConvert.SerializeXmlNode(xmlDoc).Replace(@"@", @"").Remove(1, 44);
//dynamic BillUtilityData = JsonConvert.DeserializeObject<dynamic>(JsonConvert.SerializeXmlNode(xmlDoc).Replace(@"@", @"").Remove(1, 44));
//dynamic BillUtilityData = JsonString;
XmlNodeList utilitylist = xmlDoc.DocumentElement.ChildNodes;
if (utilitylist.Count > 0)
{
foreach (XmlNode nodeUtil in utilitylist)
{
double? totalPopulation = 0;
//xmlDoc.Load(nodeUtil.InnerXml.ToString());
dynamic BillUtilityData = JsonConvert.DeserializeObject<dynamic>(JsonConvert.SerializeXmlNode(nodeUtil).Replace(@"@", @"").Remove(1, 44));
//totalPopulation = Convert.ToDouble((nodeUtil).LastChild.Attributes["Population"].Value);
//xmlDoc.LoadXml(nodeUtil.InnerText);
//foreach (XmlNode cityUtil in nodeUtil["City"])
//{
// totalPopulation = SunpowerServiceMethods.calculateTotalPopulationOfCitySiblings(cityUtil,totalPopulation);
// break;
//}
}
Что происходит, когда код не работает? Скомпилирует ли он? Вы получаете ошибки во время выполнения? Вы получили неправильный ответ? – jwg