2012-10-30 33 views
2

我已經搜索,搜索和搜索足夠的直到我的頭痛!我試圖做的是從這裏採取一個ATOM飼料:National Weather Service Alerts並將其納入我的程序,但是,我甚至不知道從哪裏開始:(我最終想做的是下載Atom飼料並將其放入一個滾動的標籤,我不想解析它拉出部分或任何東西,只是想顯示我的區域的NWS警報。我不希望任何人只是寫出代碼或任何東西,但任何幫助指向我正確的方向編程它簡單,無痛地爲一箇中間的VB程序員將不勝感激。請幫助!如何在VB.Net中讀取Atom Feed

回答

1

這是一個代碼示例,應該適合您的情況假設您已經下載了您的Atom飼料並將其保存到您的如果不是,您可能需要稍作修改:

Imports System.Xml 
Imports System.ServiceModel.Syndication 

Public Class Form1 
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
    Dim messageList As New Generic.List(Of String) 
    Using feedReader = XmlReader.Create("X:\vi.php.webintents") 
     Dim feedContent = SyndicationFeed.Load(feedReader) 
     If feedContent Is Nothing Then Return 
     For Each item As Object In feedContent.Items 
     messageList.Add(Convert.ToString(item.Title.Text)) 
     Next 
    End Using 
    lbl_warnings.Text = String.Join(vbNewLine & vbNewLine, messageList) 
    End Sub 
End Class 

用您的文件位置替換"X:\vi.php.webintents"

對於System.ServiceModel.Syndication可用,您需要將System.ServiceModel.dll添加到您的引用(.NET 4.0)中。對於.NET 3.5,您可以使用System.ServiceModel.Web.dll

在本示例中,我使用this answer作爲SyndicationFeed用法的基礎。

+0

是的,我看到並下載,但不知道如何使用它。以前從未處理過XML。我需要一個如何使用它的例子。 –

+0

@GregWillard:我從來沒有處理RSS或Atom提要。但我有一些XML的經驗。你看過兩個鏈接嗎?我的建議是:通過添加Atom feed的鏈接,讓您的問題具有建設性,您有興趣獲取。你想用它做什麼,用例子來說明,也許有些圖片。 – Neolisk

+0

我已更新原始帖子中的鏈接,以反映我試圖提取的確切原子Feed。我想要設計的是帶有標籤的非常小的形式。在這個標籤中,我希望它在惡劣天氣襲擊時滾動原子反饋並顯示我所在區域的警告。沒有別的,只是一個簡單的提醒程序,我可以定期檢查定時器。感謝您的回覆。 –