如何在C#中使用linq从xml中读取特定的字段值
本文关键字:读取 字段 xml linq | 更新日期: 2023-09-27 17:58:07
这是我试图读取的xml。
在下面给定的xml中,我想读取"customfieldwalue",其中customfieldname="Fixed In Build"。
- <customfield id="customfield_10021" key="x">
<customfieldname>Date of First Response</customfieldname>
- <customfieldvalues>
<customfieldvalue>Thu, 27 Mar 2014 00:28:36 -0700</customfieldvalue>
</customfieldvalues>
</customfield>
- <customfield id="customfield_10034" key="x">
<customfieldname>Fixed in Build</customfieldname>
- <customfieldvalues>
- <customfieldvalue>
<a href="url" title="[M8960AAAAANLGD2322586.1] - Apps Crash - Internal error: (FSR = 0x5) (PC = msm_rpmrs_lowest_limits+0x8c/0x240)">144148</a>
</customfieldvalue>
</customfieldvalues>
</customfield>
我的代码是:
var result1 = from feed in XDocument.Parse(_result.ToString()).Descendants("customfields")
.Where(x => x.Element("customfieldname").Value == "Fixed in Build")
.Elements("customfieldvalues").First()
.Select(
x => x.Element("customfieldvalue").Value
);
我也尝试过不同的方法来获得结果,但没有使用
有人帮我做这件事。
customfields
不在示例中,但我猜它是围绕它的节点。你可能需要失去一个:
//.Descendants("customfields")
.Descendants("customfield")
.Where(...)
或者,当您想更精确地了解XML结构时:
.Descendants("customfields")
.Elements("customfield")
.Where(...)