【问题标题】:Error during parsing of Atom response解析 Atom 响应时出错
【发布时间】:2015-02-23 12:11:25
【问题描述】:

我尝试从 Yandex-Fotki (Image Hoster) 解析一个 HttpWebRequest。我收到 Atom 格式的响应,但在 SyndicationFeed 中出现错误:名称为“服务”且命名空间为“http://www.w3.org/2007/app”的元素不是允许的提要格式。

我的代码是:

XmlReader reader = XmlReader.Create(new StringReader(response));
            SyndicationFeed feed = SyndicationFeed.Load(reader);

这是输入(来自网站的响应):

<app:service xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom">
  <app:workspace>
    <atom:title>packda на Яндекс.Фотках</atom:title>
    <app:collection href="http://api-fotki.yandex.ru/api/users/packda/albums/" id="album-list">
      <atom:title>Все альбомы пользователя packda</atom:title>
      <app:accept>application/atom+xml; type=entry, application/json; type=entry</app:accept>
    </app:collection>
    <app:collection href="http://api-fotki.yandex.ru/api/users/packda/photos/" id="photo-list">
      <atom:title>Все фотографии пользователя packda</atom:title>
      <app:accept>image/*</app:accept>
      <app:categories scheme="http://api-fotki.yandex.ru/api/users/packda/tags/" />
    </app:collection>
    <app:collection href="http://api-fotki.yandex.ru/api/users/packda/tags/" id="tag-list">
      <atom:title>Все теги пользователя packda</atom:title>
      <app:accept />
    </app:collection>
  </app:workspace>
</app:service>

希望你能帮帮我!

【问题讨论】:

    标签: c# xml parsing atom-feed yandex


    【解决方案1】:

    SyndicationFeed 只会解析具有AtomRSS 联合格式的XML。 Yandex-Fotki 网站的反应似乎也不是。

    好的,我发现了一个东西,也许这就是你要找的东西。如果您在网络浏览器中请求 &lt;collection href="http://api..."&gt; 值,您将获得 Atom Syndication 格式的 XML。

    这是您必须使用 SyndicationFeed 解析的 XML。因此,您必须检索集合元素的 href 值,获取该 XML 并将其加载到 SyndicationFeed 中。要撤销集合元素,您可以尝试:

    使用 XMLReader 读取 DOM 或将其反序列化为自定义类或将 XML 加载到数据集或 LINQ to XML。

    【讨论】:

    • 是否可以像 xml 文件一样解析这个文件,或者我必须使用 XDocumen/XElement 获取每个元素?
    • 是的。我认为这是可能的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多