如何使用Linq轻松解析XML -需要一些示例代码

本文关键字:代码 XML Linq 何使用 | 更新日期: 2023-09-27 18:08:39

我在SQL Server中使用XML Auto来查询数据。我想知道如何最好地解析它提供的数据。

我的最终目标是提供一个包含值的项列表,但我不知道有多少列或列的名称将是什么,直到至少在运行时从SQL中提取数据。

下面是一个示例XML

  <animals>
    <animal name="Pig">
      <meat>
        <name>Prosciutto</name>
      </meat>
      <meat>
        <name>Speck</name>
      </meat>
    </animal>
    <animal name="Cow">
      <meat>
        <name>Clod</name>
      </meat>
      <meat>
        <name>Brisket</name>
      </meat>
      <meat>
        <name>Tri-tip</name>
      </meat>
    </animal>
    <animal name="Chicken">
      <meat>
        <name>Drumstick</name>
      </meat>
    </animal>
  </animals>

我如何在列表中显示它,并执行Linq2SQL(或Linq2XML)?

如何使用Linq轻松解析XML -需要一些示例代码

选择一个列表

var q = from x in doc.Descendants()
        select x.Value;

选择特定节点,例如动物,执行doc.Descendants("animal")

选择特定的值,例如,动物的名称,执行select x.Attribute("name").Value

演示:https://dotnetfiddle.net/TdCWjE