使用 RSS feed XML 并显示信息

2023-12-21

我必须在 Windows Phone 7 应用程序中使用 feed XML (RSS) 并将这些信息显示在ListBox.

我尝试按照以下方式读取 XML feed 中的内容:

  private void button1_Click(object sender, RoutedEventArgs e)
  {            
          client.DownloadStringAsync(new Uri("http://earthquake.usgs.gov/eqcenter/recenteqsww/catalogs/eqs7day-M2.5.xml"), "usgs");
  }

有人可以指导我如何继续获取 XML 信息并将其显示为 ListBox 项目吗?


你必须做两件事:

  1. 从您拥有的 URL 下载 feed XML
  2. 解析 XML 并处理生成的 XML 文档

以下代码显示了如何执行此操作:

(GetFeed做第1部分,handleFeed做第2部分,button1_Click是当用户单击按钮时启动提要下载的单击处理程序。)

// this method downloads the feed without blocking the UI;
// when finished it calls the given action
public void GetFeed(Action<string> doSomethingWithFeed)
{
    HttpWebRequest request = HttpWebRequest.CreateHttp("http://earthquake.usgs.gov/eqcenter/recenteqsww/catalogs/eqs7day-M2.5.xml");
    request.BeginGetResponse(
        asyncCallback =>
        {
            string data = null;

            using (WebResponse response = request.EndGetResponse(asyncCallback))
            {
                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                {
                    data = reader.ReadToEnd();
                }
            }
            Deployment.Current.Dispatcher.BeginInvoke(() => doSomethingWithFeed(data));
        }
        , null);
}

// this method will be called by GetFeed once the feed has been downloaded
private void handleFeed(string feedString)
{
    // build XML DOM from feed string
    XDocument doc = XDocument.Parse(feedString);

    // show title of feed in TextBlock
    textBlock1.Text = doc.Element("rss").Element("channel").Element("title").Value;
    // add each feed item to a ListBox
    foreach (var item in doc.Descendants("item"))
    {
        listBox1.Items.Add(item.Element("title").Value);
    }

    // continue here...
}

// user clicks a button -> start feed download
private void button1_Click(object sender, RoutedEventArgs e)
{
    GetFeed(handleFeed);
}

为了简洁起见,省略了大多数错误检查。有关预期 XML 元素的一些信息维基百科 https://en.wikipedia.org/wiki/RSS。下载XML文件的代码基于这篇优秀的博文 http://www.silverlightshow.net/items/Windows-Phone-7-Data-Access-Strategies-HttpWebRequest.aspx关于使用HttpWebRequest.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 RSS feed XML 并显示信息 的相关文章

随机推荐

  • Android SDK 中的“tools.jar”到底是什么?

    所以 我已经尝试在 LibGDX 中构建一个项目大约 10 个小时 如果您不熟悉 LibGDX 是您在开始时指定项目目录以及任何所需的 SDK 的平台之一 然后当您准备开始编码时 它将为您生成一个项目 无论如何 我一直遇到一个问题 每次我尝
  • 如何压缩两个以上的迭代器?

    有没有更直接 更易读的方法来完成以下任务 fn main let a 1 2 3 let b 4 5 6 let c 7 8 9 let iter a iter zip b iter zip c iter map x y z x y z 也
  • 是否可以将自动引用计数 (ARC) 引入到 C++ 中?

    Objective C 引入了一种称为 ARC 的技术 将开发人员从内存管理的负担中解放出来 听起来不错 我想如果 g 也有这个功能的话 C 开发者会很高兴 ARC 允许您将内存管理的负担交给 Apple LLVM 3 0 编译器 并且再也
  • Android应用程序中正方形图像的裁剪形状

    我想创建一个应用程序 允许用户调整正方形图像的大小 长度 宽度 我知道可以使用画廊以这种方式做到这一点 private void crop Uri photoUri Intent intent new Intent com android
  • #include <图形.h>

    我如何使用 include
  • 每次选择框更改时使用ajax发送http请求

    您好 我正在使用 jquery 从 mysql 获取数据 它工作得很好 但我需要它在另一个选择框更改时更新选择框 这是我对 jquery 的了解 airports live change function var selectVal air
  • 使用 jQuery 的 Twitter feed

    我正在尝试使用 jQuery 解析 twitter 提供的 JSON 文件来制作一个显示 5 条推文的 twitter feed 我做了jsFiddle在这里 http jsfiddle net MichaelvandeWeerd 3Ubc
  • 使用 PCA 时出现数学域错误

    我正在使用 python 的 scikit learn 包来实现 PCA 我正在学习数学 domain error C Users Akshenndra Anaconda2 lib site packages sklearn decompo
  • 如何在 Bash 脚本中静默输出?

    我有一个输出到标准输出的程序 并且希望在通过管道传输到文件时使 Bash 脚本中的输出静音 例如 运行程序将输出 myprogram WELCOME TO MY PROGRAM Done 我希望以下脚本不向终端输出任何内容 bin bash
  • 在对话框中为列表视图设置适配器时出现 NullpointerException

    我想显示一个自定义对话框 其中有一个列表视图 首先看一下我下面的代码 Dialog protected void onPostExecute String file url btnInvite setOnClickListener new
  • 在 Unity 中运行时将带有文本的按钮动态添加到 UI [重复]

    这个问题在这里已经有答案了 我正在与C an Unity 5 6 1f1 我做了一个机制 在 UI 按钮上单击应该向 UI 上已有的面板添加一个带有文本的附加按钮 并且它确实有效 因为我能够看到对象出现在那里 public void Mak
  • 将 Outlook 电子邮件作为 .msg 文件保存到我的内部驱动器

    我正在尝试将 Outlook 电子邮件保存到我的 H Drive 中 我希望它作为运行脚本规则 但我无法让它工作 不涉及任何附件 我需要的只是将其保存为 msg 文件 如果您找到解决此问题的不同方法 请 lmk Thanks Sub Ext
  • Laravel 5:AppServiceProvider 与自定义提供程序

    几天前 我开始学习 Laravel 我无法理解一种机制 有 AppServiceProvider 我可以在其中注册 绑定 我的自定义类 接口等 但是在许多教程中 当作者创建自定义类来注册它们时 它们也会创建自定义服务提供程序类 而不是在 A
  • 如何将 HttpServletRequest 转换为字符串?

    我怎样才能转换HttpServletRequest to String 我需要解组HttpServletRequest但是当我尝试这样做时 我的程序会抛出异常 javax xml bind UnmarshalException with l
  • ViewPager + GridView onItemClick

    我在 ViewPager 的布局中有一个 GridView 我不确定这是否有影响 inside SampleAdapter for ViewPager Override public Object instantiateItem ViewG
  • (Ruby,Rails) CRUD 嵌套模型在单个页面上深度超过 4 层...?

    尽管有很多令人惊奇的信息 但它似乎常常达不到我疯狂的要求 也就是说 我正在寻找一种机制来处理单个页面上的多个嵌套模型 现在 我已经看过所有关于嵌套两个模型 Railscasts 等 的视频和帖子 不是真的 而是幽默一下 然而 我需要处理嵌套
  • 从中心点缩放向量?

    我试图弄清楚我是否有可以构成正方形的点 假设我知道这个广场的中心 我想要一个公式 可以使其大小例如两倍 但从中心开始 因此 新形状的大小是多边形中心的两倍 它必须适用于任何形状 而不仅仅是正方形 我更多地寻找其背后的理论而不是实现 如果你知
  • 正在向本地邮件服务器发送邮件 - “SENT: 550 地址无效。”

    我正在尝试将邮件发送到我的本地邮件服务器 我在用hMail服务器作为邮件服务器 我已将其配置为此处提到的 在 XAMPP 上设置本地邮件 SMTP POP3 IMAP 服务器 http thephpcode blogspot com 200
  • 将示例用法(markdown?)添加到 JavaDocs

    假设我有这个 有没有办法向每个方法添加 markdown 或 html 并提供如何使用该方法的示例 我正在考虑一个扩展面板 按钮显示 查看示例 它会打开一个面板 我尝试将其添加到内联文档中 pre code new BeanTranslat
  • 使用 RSS feed XML 并显示信息

    我必须在 Windows Phone 7 应用程序中使用 feed XML RSS 并将这些信息显示在ListBox 我尝试按照以下方式读取 XML feed 中的内容 private void button1 Click object s