извлечь данные из RSS-канала в C # - PullRequest
1 голос
/ 22 декабря 2009

Мне нужно прочитать горе из документа XML ниже. Мне нужно прочитать и сохранить данные в строковую переменную, чтобы я мог запросить службу погоды Yahoo.

XML возвращается по запросу:

<query yahoo:count="1"
       yahoo:created="2009-12-22T08:30:31Z"
       yahoo:lang="en-US"
       yahoo:updated="2009-12-22T08:30:31Z"
       yahoo:uri="http://query.yahooapis.com/v1/yql?q=select+woeid+from+geo.places+where+text%3D%22farnborough%2C+greater+london%2Cuk%22">
−
<diagnostics>
<publiclyCallable>true</publiclyCallable>
−
<url execution-time="32">
http://where.yahooapis.com/v1/places.q(farnborough%2C%20greater%20london%2Cuk);start=0;count=10
</url>
<user-time>33</user-time>
<service-time>32</service-time>
<build-version>4265</build-version>
</diagnostics>
−
<results>
−
<place>
<woeid>19941</woeid>
</place>
</results>
</query>

Может кто-нибудь показать мне, как это сделать через linq?

---------- РЕДАКТИРОВАТЬ ------------------------------------ -------------------------------------------------- ----

Я только что понял, что linq не поддерживается .net 2.0 ... doh

Так, пожалуйста, могли бы некоторые предложить альтернативный способ, используя ссылки, доступные в .net 2.0? -можно репост и тег? Большое спасибо,

Ответы [ 3 ]

3 голосов
/ 22 декабря 2009

Вы можете сделать это так:

XDocument doc = XDocument.Parse(xml);
string s = doc.Descendants()
              .Where(element => element.Name == "woeid")
              .FirstOrDefault().Value;
1 голос
/ 22 декабря 2009

Вы можете использовать что-то похожее на этот запрос Linq, чтобы получить результаты обратно из XML-документа

XDocument feeds = XDocument.Parse(xml);
var result = feeds.Descendants("diagnostics")
                    .Select(f => new 
                    {
                        UserTime = f.Element("uset-time").Value,
                        ServiceTime = f.Element("service-time").Value,
                        //... etc
                    }.First();
0 голосов
/ 22 декабря 2009

Вот способ для извлечения значений из файла XML с использованием Linq и xPath.

Надеюсь, это поможет некоторым.

...