3

好的,所以我使用 XMLDataSource 和转发器从 feedburner 中提取 XML 提要。

<asp:Repeater ID="rptrEvents" OnItemDataBound="rptrEvents_ItemDataBound" DataSourceID="XmlDataSource1" runat="server">
    <ItemTemplate>
            <li runat="server" id="liLineItem">
                <a href="<%#XPath("link")%>">
                    <span><%#XPath("pubdate")%></span>
                    <%#XPath("title")%>
                </a>
            </li>
    </ItemTemplate>
</asp:Repeater>

现在我遇到的问题是,“pubdate”是空的,并且标题包括标题和日期[尽管它可以很容易地拆分,因为日期总是以 :(冒号)结尾

所以我需要能够在后面的代码中做到这一点。

但是,我无法让它在后面的代码中工作。

我已经尝试过这样的事情(现在被授予,在 XML 方面我完全是新手)

IXPathNavigable x = (IXPathNavigable)e.Item.DataItem;
XPathNavigator nav = x.CreateNavigator();

XmlElement xePage = (XmlElement)nav.UnderlyingObject;
string title = xePage.GetAttribute("title");

所以我尝试了这个,但 xePage 总是将“HasAttributes”显示为假,并且永远找不到标题。xePage.InnerXML 似乎包含正确的数据,但我不想尝试手动解析。

谁能指出我做错了什么的更好方向?

谢谢!

4

1 回答 1

2

在您的OnItemBound活动中,请尝试此操作。

protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    IXPathNavigable x = (IXPathNavigable)e.Item.DataItem;
    XPathNavigator nav = x.CreateNavigator();
    XmlElement xePage = (XmlElement)nav.UnderlyingObject;
    string title = xePage.SelectSingleNode("title").InnerText;
}
于 2009-11-29T01:36:00.060 回答