C# 对象列表。无法将对象添加到列表<;对象>;
我正在尝试将对象列表作为C# 对象列表。无法将对象添加到列表<;对象>;,c#,list,object,C#,List,Object,我正在尝试将对象列表作为 List<FeedItem> List_feeds = new List<FeedItem>(); FeedItem objFeedItem = new FeedItem(); objFeedItem.feedId = feedNode.SelectSingleNode("id").InnerText; . . . . objFeedItem.text = feedNode.SelectSingleNode("text").InnerXm
List<FeedItem> List_feeds = new List<FeedItem>();
FeedItem objFeedItem = new FeedItem();
objFeedItem.feedId = feedNode.SelectSingleNode("id").InnerText;
.
.
.
.
objFeedItem.text = feedNode.SelectSingleNode("text").InnerXml;
objFeedItem.imgthumb = thumbImage;
objFeedItem.imglarge = largeImage;
List_feeds.Add(objFeedItem);
List List_feeds=new List();
FeedItem objFeedItem=新的FeedItem();
objFeedItem.feedId=feedNode.SelectSingleNode(“id”).InnerText;
.
.
.
.
objFeedItem.text=feedNode.SelectSingleNode(“text”).InnerXml;
objFeedItem.imgthumb=拇指图像;
objFeedItem.imglarge=大图像;
列表_feeds.Add(objFeedItem);
错误:“对象引用未设置为对象的实例。”
有人要完整的密码,听说是
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml;
using System.Net;
namespace FSB.Classes
{
public class FeedItem
{
public string feedId{ get; set; }
public string feed_publishDate{ get; set; }
public string feed_createDate{ get; set; }
public string feed_modifieddate{ get; set; }
public string title{ get; set; }
public string description{ get; set; }
public string text{ get; set; }
public string imgthumb{ get; set; }
public string imglarge{ get; set; }
public string addedBy{ get; set; }
public string edited{ get; set; }
public string createDate{ get; set; }
public string updateDat { get; set; }
}
public class Feeds
{
protected string newsURL;
protected List<FeedItem> List_feeds;
public Feeds()
{
newsURL = @"http://api.brafton.com/55f3e621-2223-48de-bafc-4f3774e72533/news/";
List<FeedItem> List_feeds = new List<FeedItem>();
}
public void updateAllFeeds()
{
getFeedList();
}
private void getFeedList()
{
try
{
XmlDocument objFeedDoc = new XmlDocument();
var nodeFeedList = getFeedNodes();
foreach (XmlNode objFeedNode in nodeFeedList)
{
string feedDetailhref = objFeedNode.Attributes["href"].Value;
string strFeedDetail = getFeedDetailXml(feedDetailhref);
objFeedDoc.LoadXml(strFeedDetail);
XmlNode feedNode = objFeedDoc.SelectSingleNode("newsItem");
FeedItem objFeedItem = new FeedItem();
objFeedItem.feedId =feedNode.SelectSingleNode("id").InnerText;
objFeedItem.feedId = feedNode.SelectSingleNode("id").InnerText;
objFeedItem.feed_publishDate = feedNode.SelectSingleNode("publishDate").InnerText;
objFeedItem.feed_createDate = feedNode.SelectSingleNode("createdDate").InnerText;
objFeedItem.feed_modifieddate = feedNode.SelectSingleNode("lastModifiedDate").InnerText;
objFeedItem.title = feedNode.SelectSingleNode("headline").InnerText;
objFeedItem.description = feedNode.SelectSingleNode("htmlMetaDescription").InnerText;
objFeedItem.text = feedNode.SelectSingleNode("text").InnerXml;
string thumbImage = "";
string largeImage = "";
/*
try
{
string pictureURL = feedNode.SelectSingleNode("photos").Attributes["href"].Value;
XmlNode imageNode = getFeedImage(pictureURL);
foreach (XmlNode pic in imageNode)
{
if (pic.SelectSingleNode("type").InnerText.ToLower() == "large")
{
largeImage = pic.SelectSingleNode("url").InnerText;
}
if (pic.SelectSingleNode("type").InnerText.ToLower() == "thumb")
{
thumbImage = pic.SelectSingleNode("url").InnerText;
}
}
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
*/
objFeedItem.imgthumb = thumbImage;
objFeedItem.imglarge = largeImage;
List_feeds.Add(objFeedItem);
}
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
}
private XmlNode getFeedImage(string pictureURL)
{
try
{
XmlDocument picDoc = new XmlDocument();
var client = new WebClient();
var content = client.DownloadString(newsURL);
picDoc.LoadXml(content);
return picDoc.SelectSingleNode("photos/photo/instances");
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
return null;
}
/*Extract the newsListItem from the xml Feeds */
private XmlNodeList getFeedNodes()
{
try
{
XmlDocument docFeed = new XmlDocument();
string strFeedXml = getFeedXml();
docFeed.LoadXml(strFeedXml);
return docFeed.SelectNodes("news/newsListItem");
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
return null;
}
/*Get the Xml Feeds From the Live Server*/
private string getFeedXml()
{
try
{
var client = new WebClient();
var content = client.DownloadString(newsURL);
return content;
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
return null;
}
/*Get the Xml Feeds Details From the Live Server*/
private string getFeedDetailXml(string newsDetailURL)
{
try
{
var client = new WebClient();
var content = client.DownloadString(newsDetailURL);
return content;
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
return null;
}
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Xml;
Net系统;
命名空间FSB.class
{
公共类饲料
{
公共字符串feedId{get;set;}
公共字符串提要_publishDate{get;set;}
公共字符串提要_createDate{get;set;}
公共字符串feed_modifieddate{get;set;}
公共字符串标题{get;set;}
公共字符串说明{get;set;}
公共字符串文本{get;set;}
公共字符串imgthumb{get;set;}
公共字符串imglarge{get;set;}
由{get;set;}添加的公共字符串
已编辑的公共字符串{get;set;}
公共字符串createDate{get;set;}
公共字符串updateDat{get;set;}
}
公共类提要
{
受保护的字符串newsURL;
受保护的列表源;
公共提要()
{
新闻URL=@“http://api.brafton.com/55f3e621-2223-48de-bafc-4f3774e72533/news/";
列表\u提要=新列表();
}
public void updatealFeeds()
{
getFeedList();
}
私有void getFeedList()
{
尝试
{
XmlDocument objFeedDoc=新的XmlDocument();
var nodeFeedList=getFeedNodes();
foreach(nodeFeedList中的XmlNode objFeedNode)
{
字符串feedDetailhref=objFeedNode.Attributes[“href”].Value;
字符串strFeedDetail=getFeedDetailXml(feedDetailhref);
LoadXml(strFeedDetail);
XmlNode feedNode=objFeedDoc.SelectSingleNode(“新闻项”);
FeedItem objFeedItem=新的FeedItem();
objFeedItem.feedId=feedNode.SelectSingleNode(“id”).InnerText;
objFeedItem.feedId=feedNode.SelectSingleNode(“id”).InnerText;
objFeedItem.feed_publishDate=feedNode。选择SingleNode(“publishDate”)。InnerText;
objFeedItem.feed_createDate=feedNode.SelectSingleNode(“createdDate”).InnerText;
objFeedItem.feed\u modifieddate=feedNode。选择SingleNode(“lastModifiedDate”)。InnerText;
objFeedItem.title=feedNode.SelectSingleNode(“headline”).InnerText;
objFeedItem.description=feedNode.SelectSingleNode(“htmlMetaDescription”).InnerText;
objFeedItem.text=feedNode.SelectSingleNode(“text”).InnerXml;
字符串thumbImage=“”;
字符串largeImage=“”;
/*
尝试
{
字符串pictureURL=feedNode.SelectSingleNode(“照片”).Attributes[“href”].Value;
XmlNode imageNode=getFeedImage(pictureURL);
foreach(imageNode中的XmlNode pic)
{
if(pic.SelectSingleNode(“type”).InnerText.ToLower()=“大”)
{
largeImage=pic.SelectSingleNode(“url”).InnerText;
}
if(如图所示,选择SingleNode(“type”).InnerText.ToLower()=“thumb”)
{
thumbImage=pic。选择SingleNode(“url”)。InnerText;
}
}
}
捕获(例外情况除外)
{
控制台。写入(例如消息);
}
*/
objFeedItem.imgthumb=拇指图像;
objFeedItem.imglarge=大图像;
列表_feeds.Add(objFeedItem);
}
}
捕获(例外情况除外)
{
控制台。写入(例如消息);
}
}
私有XmlNode getFeedImage(字符串pictureURL)
{
尝试
{
XmlDocument picDoc=新的XmlDocument();
var client=new WebClient();
var content=client.DownloadString(newsURL);
picDoc.LoadXml(内容);
返回picDoc.SelectSingleNode(“照片/照片/实例”);
}
捕获(例外情况除外)
{
控制台。写入(例如消息);
}
返回null;
}
/*从xml提要中提取newsListItem*/
私有XmlNodeList getFeedNodes()
{
尝试
{
XmlDocument docFeed=新的XmlDocument();
字符串strFeedXml=getFeedXml();
LoadXml(strFeedXml);
返回docFeed.SelectNodes(“新闻/新闻列表项”);
}
捕获(例外情况除外)
{
控制台。写入(例如消息);
}
返回null;
}
/*从实时服务器获取Xml提要*/
私有字符串getFeedXml()
{
尝试
{
var client=new WebClient();
var content=client.DownloadString(newsURL);
返回内容;
}
捕获(例外情况除外)
{
控制台。写入(例如消息);
}
R
protected List<FeedItem> List_feeds;
protected List<FeedItem> List_feeds = new List<FeedItem>();
List<FeedItem> List_feeds = new List<FeedItem>();
var idNode = feedNode.SelectSingleNode("id");
if (idNode != null) {
objFeedItem.feedId = idNode.InnerText;
...
}
var textNode = feedNode.SelectSingleNode("text");
if (textNode != null) {
objFeedItem.text = textNode.InnerXml;
...
}
List<FeedItem> List_feeds = new List<FeedItem>();