使用LINQ解析XML
本文关键字:XML 解析 LINQ 使用 | 更新日期: 2023-09-27 18:03:48
我有以下XML节点:
<reportDataRow>
<columnData colNum="1">
<data>FirstName</data>
</columnData>
<columnData colNum="2">
<data>LastName</data>
</columnData>
</reportDataRow>
我想根据columnData
节点中colNum
属性的值从data
节点检索值。
我该如何使用LINQ来完成呢?
再次假设reportDataRow是一个XElement, value是一个变量,您希望用它来匹配colNum属性;
foreach (var selected in reportDataRow.Elements("columnData").Where(a =>a.Attribute("colNum").Value == value))
{
yield return selected.Element("data").Value;
}
的用法会根据你的需要而改变
最简单的方法是使用XPathSelectElement。假设reportDataRow是一个表示根元素的XElement,而value是一个变量,您希望用它来匹配colNum属性:
reportDataRow.XPathSelectElement(".//data[parent::columnData/@colNum = '" + value + "']");