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 .
<?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 .
解决方案 »
- 请高手帮忙指点下C#写的Winform连接到购买的空间数据库怎么连接
- 使用多个异步POST请求 连续循环执行为什么反应变得越来越慢
- 急,如何用Installshield 创建应用程序池,解决马上结贴
- winCE平台下怎样访问硬件的寄存器地址?
- asp.net中向JavaScript写的弹出窗口函数传递地址参数问题
- AJAX ASP.net C# 如何弹出一个 类似于Dialog 的 页面?
- 如何用正则表达式判断是否包含某些字符?
- 数据类型问题
- 如何在c#应用程序(form窗口)中实现双击dataGrid中的任一行数据弹出一个信息框?
- help
- 运行速度差别很大
- listview隐藏button 出现将对象引用设置到对象的实例。
检查"meridien",是否拼错或存在。xml文档里没有meridien标记吧
<channelName>北京电视台</channelName>
- <tvProgramTable>
- <tvProgram>
<playTime>2009-9-29 06:02</playTime>
- <!-- 节目播出时间
-->
<meridien>早间档</meridien>
meridien是tvProgram的子项,不是根的子项。所以引用不到,报错
foreach (XmlNode item in xn.ChildNodes)
换成
XmlNodeList xn = typeA.SelectNodes("typeA/tvProgramTable/tvProgram");
foreach (XmlNode item in xn)