为每个 <li > 添加一个 < div > 标签 - HtmlGenericControl

Add a < div > tag for each <li > - HtmlGenericControl

我正在阅读 RSS XML 新闻并将每个新闻添加到 <li>

我需要每个 <li> 标签都在 < div > 标签内,如何通过 HtmlGenericControl 实现?

像这样

          <div>
            <li><span>Ações contra dengue prosseguem em Araruama &ndash; <a href="#">Leia mais</a></span></li>
        </div>
        <div>
            <li><span>Laboratório em Campinas identifica 'impressão digital' do vírus da zika &ndash; <a href="#">Leia mais</a></span></li>
        </div>
        <div>
            <li><span>Agentes arrombam casas fechadas em Recife contra o Aedes aegypti &ndash; <a href="#">Leia mais</a></span></li>
        </div>
        <div>
            <li><span>Universidade de Sorocaba coordena três estudos sobre o Aedes aegypti &ndash; <a href="#">Leia mais</a></span></li>
        </div>

代码:

    private void AddMenuItem()
{

    XmlDocument rssXmlDoc = new XmlDocument();

    // Load the RSS file from the RSS URL
    rssXmlDoc.Load("http://g1.globo.com/dynamo/luta-contra-a-dengue/rss.xml");

    // Parse the Items in the RSS file
    XmlNodeList rssNodes = rssXmlDoc.SelectNodes("rss/channel/item");

    StringBuilder rssContent = new StringBuilder();

    // Iterate through the items in the RSS file
    foreach (XmlNode rssNode in rssNodes)
    {

        XmlNode rssSubNode = rssNode.SelectSingleNode("title");
        string title = rssSubNode != null ? rssSubNode.InnerText : "";

        rssSubNode = rssNode.SelectSingleNode("link");
        string link = rssSubNode != null ? rssSubNode.InnerText : "";



        HtmlGenericControl li = new HtmlGenericControl("li");
        noticias.Controls.Add(li);

        HtmlGenericControl span = new HtmlGenericControl("span");
        span.InnerText = title;           

        HtmlGenericControl anchor = new HtmlGenericControl("a");
        anchor.Attributes.Add("href", link);
        anchor.InnerText = "Leia Mais";

        li.Controls.Add(span);
        li.Controls.Add(anchor);

您需要在 div 中插入 li 元素,并将 div 添加到您的 noticias 容器中:

foreach (XmlNode rssNode in rssNodes)
{
    ...

    HtmlGenericControl div = new HtmlGenericControl("div");
    noticias.Controls.Add(div);

    HtmlGenericControl li = new HtmlGenericControl("li");
    div.Controls.Add(li);

    HtmlGenericControl span = new HtmlGenericControl("span");
    span.InnerText = title;

    ...
}