我在XML文件和c#上遇到了问题。xml 文件如下所示:
<data>
<weather>
//some stuff
</weather>
<weather>
//some stuff
</weather>
<weather>
//some stuff
</weather>
<weather>
//some stuff
</weather>
现在我的问题:
例如,我只需要导航到第三个节点。现在我想我可以用这个来解决它:
act_tempereature = wData.Root.Element("weather").Element("maxtempC").Value;
但是,当然,它只选择文档目录中具有该特定名称的第一个元素。那么如何导航到第 3 或第 2 个天气呢?
如果这个问题已经被问过了,我很抱歉,因为我没有找到什么(也许我只是搜索了错误的关键字:/)
希望你能帮到你
您可以使用带有复数s
的Elements()
来获取所有具有特定名称的元素:
act_tempereatures = wData.Root
.Elements("weather")
.Elements("maxtempC")
.Select(o => o.Value);
然后只需使用foreach
循环即可获取每个温度值。或者,如果您只需要一个特定位置的元素,例如第三个,请尝试使用 Skip()
和 Take()
:
act_tempereature3 = wData.Root
.Elements("weather")
.Skip(2)
.Take(1)
.Elements("maxtempC")
.Select(o => o.Value);