在C#中,使用XmlNodeList不会将所有子项都添加到列表视图中

在C#中,使用XmlNodeList不会将所有子项都添加到列表视图中,c#,xml,rss,C#,Xml,Rss,我正在从RSS提要中提取数据。在我的listview(rowNews)中,我有两列:标题和URL。单击按钮时,文章的所有标题都显示在标题列中,但只有一个URL添加到URL列中。我切换了它们,这样URL就会添加到第一列,所有正确的URL都会出现。。。这让我觉得这是我的listview源代码的一个问题(这是我第一次使用子项)。这是我开始尝试订单之前的原稿: private void button1_Click(object sender, EventArgs e) {

我正在从RSS提要中提取数据。在我的listview(rowNews)中,我有两列:标题和URL。单击按钮时,文章的所有标题都显示在标题列中,但只有一个URL添加到URL列中。我切换了它们,这样URL就会添加到第一列,所有正确的URL都会出现。。。这让我觉得这是我的listview源代码的一个问题(这是我第一次使用子项)。这是我开始尝试订单之前的原稿:

private void button1_Click(object sender, EventArgs e)
        {

            XmlTextReader rssReader = new XmlTextReader(txtUrl.Text);
            XmlDocument rssDoc = new XmlDocument();
            rssDoc.Load(rssReader);
            XmlNodeList titleList = rssDoc.GetElementsByTagName("title");
            XmlNodeList urlList = rssDoc.GetElementsByTagName("link");
            ListViewItem lvi = new ListViewItem();

             for (int i = 0; i < titleList.Count; i++)
             {
                 rowNews.Items.Add(titleList[i].InnerXml);
             }

             for (int i = 0; i < urlList.Count; i++)
             {
                 lvi.SubItems.Add(urlList[i].InnerXml);
             }

             rowNews.Items.Add(lvi);
        }
private void按钮1\u单击(对象发送者,事件参数e)
{
XmlTextReader rssReader=新的XmlTextReader(txtUrl.Text);
XmlDocument rssDoc=新的XmlDocument();
rssDoc.负载(rssReader);
XmlNodeList titleList=rssDoc.GetElementsByTagName(“标题”);
XmlNodeList urlList=rssDoc.GetElementsByTagName(“链接”);
ListViewItem lvi=新建ListViewItem();
for(int i=0;i
我认为您应该将代码更改为以下内容(未经测试)

//ListViewItem lvi=new ListViewItem();
for(int i=0;i
我认为您应该将代码更改为以下内容(未经测试)

//ListViewItem lvi=new ListViewItem();
for(int i=0;i
您是否研究过通过System.ServiceModel.Syndication命名空间使用提要,SyndicationFeed和SyndicationItem类公开了您所追求的所有属性,并且可以轻松地将它们作为POCO对象绑定到UI元素

 using (XmlReader reader = XmlReader.Create(Settings.Default.ExchangeRateFeed))
        {
            SyndicationFeed feed = SyndicationFeed.Load(reader);

            if (feed != null)
            {
                foreach (var item in feed.Items)
                {
                    // Code to obtain required properties
                }
            }
        }

您看过通过System.ServiceModel.Syndication命名空间使用提要了吗?SyndicationFeed和SyndicationItem类公开了您需要的所有属性,并且可以轻松地作为POCO对象绑定到UI元素

 using (XmlReader reader = XmlReader.Create(Settings.Default.ExchangeRateFeed))
        {
            SyndicationFeed feed = SyndicationFeed.Load(reader);

            if (feed != null)
            {
                foreach (var item in feed.Items)
                {
                    // Code to obtain required properties
                }
            }
        }