2010-01-06 2 views
2

Вот XML Я пытаюсь получить доступ к:Как бы использовать LINQ для XML, чтобы получить значение из примера 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 для XML для поиска ключа RptTitle1 и вернуть значение узла значения?

ответ

4

Как это:

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

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

Этот код будет найти первый <string> элемент, который имеет <key> элемент со значением, равным RptTitle1, а затем получить <value> элемент этого элемента.

+0

Я получаю сообщение об ошибке при попытке использовать метод .First. – TampaRich

+0

Добавьте 'using System.Linq;' в начало файла. Если вы все еще получаете сообщение об ошибке, добавьте ссылку на System.Core.dll в свой проект. – SLaks

+0

получил, никаких ошибок. Я думал, что все, что мне нужно, это System.Xml.Linq. – TampaRich

Смежные вопросы