我有以下XML节点:
<reportDataRow>
<columnData colNum="1">
<data>FirstName</data>
</columnData>
<columnData colNum="2">
<data>LastName</data>
</columnData>
</reportDataRow>
我想根据data
节点中colNum
属性的值从columnData
节点检索值。
如何使用LINQ实现这一目标?
答案 0 :(得分:3)
再次假设reportDataRow是一个XElement,value是要与colNum属性匹配的变量;
foreach (var selected in reportDataRow.Elements("columnData").Where(a =>a.Attribute("colNum").Value == value))
{
yield return selected.Element("data").Value;
}
用法将根据您的需要而改变
答案 1 :(得分:2)
最简单的方法是使用XPathSelectElement。假设reportDataRow是表示根元素的XElement,value是要与colNum属性匹配的变量:
reportDataRow.XPathSelectElement(".//data[parent::columnData/@colNum = '" + value + "']");