【问题标题】:How would I use LINQ to XML to get the value from example XML我将如何使用 LINQ to XML 从示例 XML 中获取值
【发布时间】:2010-01-06 18:02:07
【问题描述】:

这是我要访问的 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>

如何使用 linq to xml 搜索 RptTitle1 的 key 并返回 value 节点的值?

【问题讨论】:

    标签: c# xml linq


    【解决方案1】:

    像这样:

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

    此代码将找到第一个 &lt;string&gt; 元素,它的 &lt;key&gt; 元素的值等于 RptTitle1,然后获取该元素的 &lt;value&gt; 元素。

    【讨论】:

    • using System.Linq; 添加到文件顶部。如果仍然出现错误,请将 System.Core.dll 的引用添加到您的项目中。
    • 知道了,没有错误。我以为我需要的只是 System.Xml.Linq。
    • @TampaRich:XDocumentXElement 等类需要 System.Xml.Linq。通用 Linq-to-Objects 方法(如 First)需要 System.Core 和 System.Linq。
    猜你喜欢
    • 1970-01-01
    • 2013-10-27
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    相关资源
    最近更新 更多