使用 C# 读取深层 xml 标记

本文关键字:xml 标记 读取 使用 | 更新日期: 2023-09-27 18:36:22

我需要一些使用 Linq 到 xml 的帮助,我一直在阅读在线文章但仍然没有运气,有人可以帮我吗?

我只需要读取一个 xml 文件,我遇到的问题是它有很多子级别,我无法访问它们。

<Dias>
  <Dia id="0">
     <Restricciones>
        <Restriccion tipo="Ambiental" horaInicio="6" horaFin="10">
            <Placas>
               <Placa>4</Placa>
            </Placas>
         </Restriccion>
      </Restricciones>
   </Dia>
</Dias>

我当前的代码是:

var dia = (int)DateTime.Now.DayOfWeek;
var xElement = XElement.Load("Bogota.xml");
var d = (from dias in xElement.Descendants("Dia")
where dias.Attribute("id").Value == dia.ToString()
select dias).First();
var rest = (from r in d.Descendants("Restricciones")
select r);

但是我已经尝试了几种变体,但到目前为止没有运气

有人可以帮忙吗?

使用 C# 读取深层 xml 标记

这应该有效

var d = (from s in myXel.Descendants("Dia") 
                 where s.Attribute("id").Value == dia.ToString()
             select s).FirstOrDefault();
var rest = d.Descendants("Restriccion").ToList();