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