C# 如何使用LINQtoXML从示例XML中获取值

C# 如何使用LINQtoXML从示例XML中获取值,c#,xml,linq,C#,Xml,Linq,以下是我尝试访问的xml: <resourceStrings> <globalStrings> <string> <key>RptTitle1</key> <value>Title1</value> </string> <string>

以下是我尝试访问的xml:

<resourceStrings>    
    <globalStrings>
          <string>
             <key>RptTitle1</key>
             <value>Title1</value>
           </string>    
           <string>
              <key>RptTitle2</key>
              <value>ReportTitle2</value>
           </string>
            <string>
                <key>RptTitle3</key>
                <value>ReportTitle3</value>
            </string>
       </globalStrings>
</resourceStrings>

标题1
标题1
标题2
报告标题2
标题3
报告标题3
如何使用linq to xml搜索RptTitle1的键并返回值节点的值?

如下所示:

var doc = XDocument.Load(...);

var setting = doc.Descendants("string").First(e => e.Element("key").Value == "RptTitle1");
var RptTitle1 = setting.Element("value").Value;

此代码将找到第一个
元素,该元素的
元素的值等于
rptitle1
,然后获取该元素的
元素。

使用System.Linq添加
到文件的顶部。如果仍然出现错误,请将对System.Core.dll的引用添加到项目中。明白,无错误。我以为我所需要的只是System.Xml.Linq。@TampaRich:System.Xml.Linq是
XDocument
XElement
等类所需要的。通用Linq to Objects方法(如
First
)需要System.Core和System.Linq。