如何从 RSS 提要中提取图像?

How can I extract an image from an RSS Feed?

====== [编辑1] ======

跟进问题:

使用 FloatingKiwi 在下面提供的答案,我希望能够解析并找到每个 "item"

中的第一个 "enclosure" 标签

目前,我能够想出这个:

Dim xml_items = From ImageURL In xelement.<channel>.<item>
Dim url = xml_items.<enclosure>.@url
For Each item As XElement In xml_items
    TextBox1.Text = TextBox1.Text + Environment.NewLine + Environment.NewLine + url
Next item

这好像给了我第一个"enclosure"标签第"item" 15次(xml中的项目数)

我们将不胜感激 :)

============================================= ==============

我已经尝试解决这个问题一段时间了,但我找不到如何从 RSS 提要中提取图像的 URL。

我想解析整个 RSS 提要以提取图像 url,它位于附件标签中,但我似乎无法获取它。

下面是我目前的代码。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim xelement As XElement = XElement.Load("..\..\example.xml")
    Dim links As IEnumerable(Of XElement) = xelement.Elements()

    Dim url = From ImageURL In xelement.Elements("item") Where CStr(ImageURL.Element("enclosure").Attribute("url")) Select ImageURL

    For Each link As XElement In url
        TextBox1.Text = TextBox1.Text + Environment.NewLine + Environment.NewLine + link.Element("item").Value
    Next link
End Sub

这是 xML 内容的示例:

<rss version="2.0">
<channel>
<title>Beverly Hills Car Club RSS 2.0 Feed</title>
<link>http://www.beverlyhillscarclub.com/</link>
<description>Beverly Hills Car Club RSS 2.0 Feed</description>
<language>en-us</language>
<item>
<title>1969 Alfa Romeo Duetto</title>
<description>
<=!=[=C=D=A=T=A=[
1969 Alfa Romeo Duetto <br /> Stock # 03077, Mileage: 0, VIN # <br /> Price: ,500<br /> Exterior Color: Silver, Interior Color: <br /> <div style="text-align: center;"><span style="color: rgb(255, 0, 0);"><span style="font-size: xx-large;"><em><strong>&nbsp;<span style="font-family: A
]=]=>


<=!=[=C=D=A=T=A=[
rial, Helvetica, sans-serif;">1969 Alfa Romeo Duetto with 2 Tops</span></strong></em></span></span></div><br style="font-family: Arial, Helvetica, sans-serif;" /><span style="font-size: large;"><span style="font-family: Arial, Helvetica, sans-serif;">1969 Alfa Romeo Duetto, 2 tops, silver with red interior, beautiful color combination, covered headlights, very clean and detailed engine bay, solid undercarriage, nice weekend driver that is mechanically sound. For ,500</span><br style="font-family: Arial, Helvetica, sans-serif;" /><br style="font-family: Arial, Helvetica, sans-serif;" /><span style="font-family: Arial, Helvetica, sans-serif;">If you have any additional questions <strong><span style="color: rgb(0, 255, 0);">Please call 310-975-0272</span></strong> or email with any questions! We also welcome all international buyers. We can help with shipping quotes and arrangements.</span></span>
]=]=>



</description>


<link>
1969 Alfa Romeo Duetto
</link>


<enclosure url="http://www.beverlyhillscarclub.com/galleria_images/2078/2078_main_t.jpg" length="2791" type="image/jpeg"/> <----------------- this is what I need ------------------>
<guid>
1969 Alfa Romeo Duetto
</guid>


<pubDate>Wed, 16 Oct 2013 03:25:21 CDT</pubDate>

如有任何帮助,我们将不胜感激。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim xelement As XElement = XElement.Load("..\..\example.xml")
    For Each item In xelement.<channel>.<item>
        Dim url = item.<enclosure>.@url
        TextBox1.Text = TextBox1.Text + Environment.NewLine + Environment.NewLine + url
    Next
 End Sub

这里的问题是您在循环开始之前设置了 url,所以它总是指向第一项。在循环内移动 url 的赋值并将其指向 item 而不是 xml_items

    Dim xml_items = From ImageURL In XElement.<channel>.<item>
    For Each item As XElement In xml_items
        Dim url = item.<enclosure>.@url
        TextBox1.Text = TextBox1.Text + Environment.NewLine + Environment.NewLine + url
    Next item