Подача Stackoverflow Linq для фильтрации XML - PullRequest
2 голосов
/ 29 апреля 2011

У меня есть этот XML:

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:re="http://purl.org/atompub/rank/1.0">
<title type="text">Recent Questions - Stack Overflow</title>
<link rel="self" href="http://stackoverflow.com/feeds" type="application/atom+xml" />
<link rel="alternate" href="http://stackoverflow.com/questions" type="text/html" />
<subtitle>most recent 30 from stackoverflow.com</subtitle>
<updated>2011-04-28T13:53:52Z</updated>
<id>http://stackoverflow.com/feeds</id>
<creativeCommons:license>http://www.creativecommons.org/licenses/by-nc/2.5/rdf</creativeCommons:license> 
<entry>
    <id>/4940157/kak-zapustit-asinhronno-medlenno-zapuskaemyi-paket-v-chastnosti-svn-post-commit</id>
    <re:rank scheme="http://stackoverflow.com">0</re:rank>
    <title type="text">How do I run a slow running batch Asynchronously, specifically a SVN post-commit?</title>
    <category scheme="http://stackoverflow.com/feeds/tags" term="windows"/><category scheme="http://stackoverflow.com/feeds/tags" term="svn"/><category scheme="http://stackoverflow.com/feeds/tags" term="batch"/><category scheme="http://stackoverflow.com/feeds/tags" term="post-commit"/>
    <author>
        <name>digiguru</name>
        <uri>http://stackoverflow.com/users/5055</uri>
    </author>
    <link rel="alternate" href="/4940157/kak-zapustit-asinhronno-medlenno-zapuskaemyi-paket-v-chastnosti-svn-post-commit" />
    <published>2011-04-28T13:53:48Z</published>
    <updated>2011-04-28T13:53:48Z</updated>
    <summary type="html">
        whatever1
    </summary>
</entry>
<entry>
    <id>http://stackoverflow.com/questions/5818592/wxpython-making-a-panel-not-accessible-through-tab</id>
    <re:rank scheme="http://stackoverflow.com">0</re:rank>
    <title type="text">wxPython making a panel not accessible through tab</title>
    <category scheme="http://stackoverflow.com/feeds/tags" term="wxpython"/><category scheme="http://stackoverflow.com/feeds/tags" term="wxglade"/>
    <author>
        <name>ccwhite1</name>
        <uri>http://stackoverflow.com/users/588892</uri>
    </author>
    <link rel="alternate" href="http://stackoverflow.com/questions/5818592/wxpython-making-a-panel-not-accessible-through-tab" />
    <published>2011-04-28T12:30:02Z</published>
    <updated>2011-04-28T13:53:34Z</updated>
    <summary type="html">
        whatever 2
    </summary>
</entry>
</feed>

- это часть RSS из новостных лент StackOverflow.

Мне нужно вернуть весь xml (яиспользуя Linq to XML.), но только с записями с «обновленным» атрибутом со значением, меньшим или равным DateTime, переданному параметром.

Я получаю xml следующим образом:

XDocument recientes = XDocument.Load(ObtenerFeedsRecientes());
recientes = recientes.Root.Elements().DontKnowWhatToDo();

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

Спасибо!

1 Ответ

3 голосов
/ 29 апреля 2011
XDocument recientes = XDocument.Load(ObtenerFeedsRecientes());

XNamespace atomNS = "http://www.w3.org/2005/Atom";

var updates = from entry in recientes.Root.Elements(atomNS + "entry")
              where DateTime.Parse(entry.Element(atomNS + "updated").Value) <= parameter
              select entry;

Должен сделать свое дело. Предполагается, что parameter имеет тип DateTime

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...