LINQ和XML - 解析和显示图像

时间:2012-03-30 18:15:23

标签: xml vb.net linq image parsing

我想在XML文件中解析并显示每个'item'的图片和描述。我无法弄清楚图像部分,我只能连接'description'来显示它:

.ASPX:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <asp:Image ID="imgAmberIMG" runat="server" />

        <asp:Label ID="lblDescription" runat="server"></asp:Label>

    </div>
    </form>
</body>
</html>

代码背后:

Imports System.Xml.Linq
Imports System.Net


Partial Class AmberAlert
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load

        Dim amberAlert As XDocument = XDocument.Load("http://www.missingkids.com/missingkids/servlet/XmlServlet?act=rss&LanguageCountry=en_US&orgPrefix=NCMC&state=NY")

        For Each xe As XElement In amberAlert.Descendants("item")

            lblDescription.Text += (xe.Element("description").Value) + "<br />"
            imgAmberIMG.ImageUrl = xe.Element("enclosure").Attribute("url").Value

        Next

    End Sub
End Class

我在树上的正确元素;我可以显示第一张图片,并且我已经能够访问所有“描述”元素。但我需要将每个'item'元素一起显示。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用asp:DataList将您的图像和描述放在其中并使用数据绑定来设置它们的属性。请参阅MSDN上的DataList Class,其中包含一个示例。

而不是使用For Each:

Dim missingList = From xe As XElement In amberAlert.Descendants("item")
                  Select New With {
                                      Description = (xe.Element("description").Value) + "<br />",
                                      ImageUrl = xe.Element("enclosure").Attribute("url").Value
                                  }

然后将DataList的DataSource设置为missingList。