C# как получить все XML Значение - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть XML файл

<forecast>
<time from="2020-04-05T03:00:00" >
<temperature unit="celsius" value="9.46" min="8.84" max="9.46"/>
<clouds value="overcast clouds" all="96" unit="%"/>
</time>
<time from="2020-04-05T09:00:00">
<temperature unit="celsius" value="9.53" min="9.22" max="9.53"/>
<clouds value="scattered clouds" all="49" unit="%"/>
</time>
</forecast>

, работающий с c#

foreach (var npc in doc.Descendants("forecast"))
{
    dt.Rows.Add(new object[]
    {
        (DateTime) npc.Descendants("time").First().Attribute("from"),
        (string) npc.Descendants("temperature").First().Attribute("value"),
        (string) npc.Descendants("clouds").First().Attribute("value")
    });
}

Я получил только первое значение, каков метод зацикливания всех значений?

1 Ответ

0 голосов
/ 05 апреля 2020

Попробуйте использовать приведенный ниже код, чтобы получить весь список узлов:

    XmlNodeList xnList = xmlDoc.SelectNodes("/forecast/time");

Затем l oop через него.

...