문제

좋아, 나는 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에는 적절한 데이터가 포함되어있는 것처럼 보이지만 수동으로 물건을 구문 분석하고 싶지는 않습니다.

누구든지 내가 잘못하고있는 일에 대해 더 나은 방향으로 나를 지적 할 수 있습니까?

감사!

도움이 되었습니까?

해결책

당신의 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;
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top