XML文件
  <?xml version="1.0" encoding="utf-8" ?> 
- <typeA version="1.0">
  <channelName>北京电视台</channelName> 
- <tvProgramTable>
- <tvProgram>
  <playTime>2009-9-29 06:02</playTime> 
- <!-- 节目播出时间
  --> 
  <meridien>早间档</meridien> 
- <!-- 时段
  --> 
  <programName>重播:国际双行线</programName> 
- <!-- 节目名称
  --> 
  <path>c:\a.wma</path> 
- <!-- 视频路径
  --> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 07:00</playTime> 
- <!-- 节目播出时间
  --> 
  <meridien>早间档</meridien> 
- <!-- 时段
  --> 
  <programName>北京您早</programName> 
- <!-- 节目名称
  --> 
  <path>C:\New Stories (Highway Blues).wma</path> 
- <!-- 视频路径
  --> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 09:02</playTime> 
- <!-- 节目播出时间
  --> 
  <meridien>早间档</meridien> 
- <!-- 时段
  --> 
  <programName>重播《红星剧场》32集剧:勇者无敌(31)</programName> 
- <!-- 节目名称
  --> 
  <path>**</path> 
- <!-- 视频路径
  --> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 09:58</playTime> 
  <meridien>早间档</meridien> 
  <programName>重播《红星剧场》32集剧:勇者无敌(32)</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 11:15</playTime> 
  <meridien>午间档</meridien> 
  <programName>重播:专题片:我爱你,中国(14)</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 11:58</playTime> 
  <meridien>午间档</meridien> 
  <programName>身边</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 12:30</playTime> 
  <meridien>午间档</meridien> 
  <programName>特别关注</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 13:05</playTime> 
  <meridien>午间档</meridien> 
  <programName>天下天天谈</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 13:40</playTime> 
  <meridien>午间档</meridien> 
  <programName>《玫瑰剧场》55集剧:闯关东中篇(21)</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 14:32</playTime> 
  <meridien>午间档</meridien> 
  <programName>《玫瑰剧场》55集剧:闯关东中篇(22)</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 15:27</playTime> 
  <meridien>下午档</meridien> 
  <programName>《玫瑰剧场》55集剧:闯关东中篇(23)</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 16:19</playTime> 
  <meridien>下午档</meridien> 
  <programName>《玫瑰剧场》55集剧:闯关东中篇(24)</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 17:31</playTime> 
  <meridien>下午档</meridien> 
  <programName>法治进行时</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 18:00</playTime> 
  <meridien>晚间档</meridien> 
  <programName>新闻晚高峰</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 18:30</playTime> 
  <meridien>晚间档</meridien> 
  <programName>北京新闻</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 18:56</playTime> 
  <meridien>晚间档</meridien> 
  <programName>天气预报</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 19:00</playTime> 
  <meridien>晚间档</meridien> 
  <programName>转播CCTV新闻联播</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 19:31</playTime> 
  <meridien>晚间档</meridien> 
  <programName>看气象</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 19:40</playTime> 
  <meridien>晚间档</meridien> 
  <programName>专题片:我爱你,中国(15)</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 20:22</playTime> 
  <meridien>晚间档</meridien> 
  <programName>《爸妈都是老党员》首播庆典</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 21:21</playTime> 
  <meridien>晚间档</meridien> 
  <programName>《红星剧场》38集剧:咱爸咱妈六十年(1)</programName> 
  <path>**</path> 
  </tvProgram>
- <tvProgram>
  <playTime>2009-9-29 23:25</playTime> 
  <meridien>晚间档</meridien> 
  <programName>重播文艺:花样年华歌舞大赛(5)</programName> 
  <path>**</path> 
  </tvProgram>
  </tvProgramTable>
  </typeA>
我的C#代码
    public class ChannelManager : ChannelBase
    {
        public ChannelManager()
        {
            this.fullChannel = new Dictionary<string, ChannelBase>();
        }
        /// <summary>
        /// 对象序列化结果        /// </summary>
        private SavingInfo seria = new SavingInfo();
        public SavingInfo Seria
        {
            get { return seria; }
        }
        /// <summary>
        /// 全部频道
        /// </summary>
        private Dictionary<string, ChannelBase> fullChannel;
        public Dictionary<string, ChannelBase> FullChannel
        {
            get
            {
                return fullChannel;
            }
        }
        public override void Fetch()
        {
        }        public void LoadChannel()
        {
            this.fullChannel.Clear();
            XmlDocument myXml = new XmlDocument();
            myXml.Load("files/FullChannels.xml");
            XmlNode enginner = myXml.DocumentElement;
            int dd = enginner.ChildNodes.Count;
            TvProgram tp = new TvProgram();
            foreach (XmlNode item in enginner.ChildNodes)
            {
                this.ChannelName = item["tvChannel"].InnerText;
            }            XmlDocument typeA = new XmlDocument();
            typeA.Load("files/北京电视台.xml");
            XmlNode xn = typeA.DocumentElement;
            foreach (XmlNode item in xn.ChildNodes)
            {
                string name=item["meridien"].InnerText;  //这里报错,未将对象引用到实例
                tp.Median = name;
            }
            }
        }
}
上面的channelManager继承此类
    public abstract class ChannelBase
    {
        #region 属性      
        /// <summary>
        /// 频道名称
        /// </summary>
        private string channelName;
        public string ChannelName
        {
            get { return channelName; }
            set { channelName = value; }
        }
        /// <summary>
        /// 频道路径
        /// </summary>
        private string path;
        public string Path
        {
            get { return path; }
            set { path = value; }
        }
        /// <summary>
        /// 节目列表
        /// </summary>
        private List<TvProgram> programList;
        public List< TvProgram> ProgramList
        {
            get { return programList; }
            set { this.programList = value; }
        }
     #endregion        public abstract void Fetch();
        
    }这个是我要赋值的类
    public class TvProgram
    {
        #region 属性        /// <summary>
        /// 播出时间
        /// </summary>
        private DateTime playTime;
        public DateTime PlayTime
        {
            get { return playTime; }
            set { playTime = value; }
        }
        /// <summary>
        /// 时段
        /// </summary>
        private string median;
        public string Median
        {
            get { return median; }
            set { median = value; }
        }
        /// <summary>
        /// 名称
        /// </summary>
        private string programName;
        public string ProgramName
        {
            get { return programName; }
            set { programName = value; }
        }
        /// <summary>
        /// 文件路径
        /// </summary>
        private string filePath;
        public string FilePath
        {
            get { return filePath; }
            set { filePath = value; }
        }
        #endregion    }代码有点多,求高手指点,纠结了两三个小时,再不解决我要到旁边自宫去了 T_T .

解决方案 »

  1.   

    string name=item["meridien"].InnerText; //这里报错,未将对象引用到实例
    检查"meridien",是否拼错或存在。xml文档里没有meridien标记吧
      

  2.   

    - <typeA version="1.0">
      <channelName>北京电视台</channelName>  
    - <tvProgramTable>
    - <tvProgram>
      <playTime>2009-9-29 06:02</playTime>  
    - <!-- 节目播出时间
      -->  
      <meridien>早间档</meridien>  
    meridien是tvProgram的子项,不是根的子项。所以引用不到,报错
      

  3.   

    使用反射的方式,baidu一下发射,你就明白了。很简单~~~
      

  4.   

    XmlNode xn = typeA.DocumentElement;
    foreach (XmlNode item in xn.ChildNodes)
    换成
    XmlNodeList xn = typeA.SelectNodes("typeA/tvProgramTable/tvProgram");
    foreach (XmlNode item in xn)