我生成xml文件时没问题,可是读取这个xml文件时却提示:未将对象引用设置到对象的实例(就是这一句:Response.Write(node1.InnerText); ),恳请各位帮忙给改一改。我都弄了整整一下午了!可愁死俺了!(注:俺就剩这么点分了,实在是没分了,大家不要嫌少。)
下面是代码: string rootPath = @"d:\website\haocai\test2.xml";
XmlTextWriter xtr = new XmlTextWriter(rootPath, Encoding.GetEncoding("UTF-8"));
xtr.WriteStartDocument();
xtr.WriteStartElement("root") ;
xtr.WriteStartElement("一级1", "a1"); //GrandFather
xtr.WriteStartElement("二级11", "a11"); //Child
xtr.WriteElementString("三级111", "a111"); // GrandChild
xtr.WriteElementString("三级112", "a112"); // GrandChild
xtr.WriteFullEndElement() ; xtr.WriteStartElement("二级12", "a12");
xtr.WriteElementString("三级121", "a121");
xtr.WriteElementString("三级122", "a122");
xtr.WriteFullEndElement() ;
//xtr.WriteFullEndElement() ;
// xtr.writeStartElement("一级2") ; xtr.WriteEndDocument() ;
xtr.Flush() ; //这一步别忘了很重要
xtr.Close() ;
/*读取xml文件*/
// Response.Write(rootPath);
XmlDocument doc = new XmlDocument();
string filePath = Server.MapPath("test2.xml");
doc.Load(filePath);
XmlNode node1 = doc.SelectSingleNode("二级11");
Response.Write(node1.InnerText); //输出名字为二级11的节点的内容 XmlNode node2 = doc.SelectSingleNode("三级122");
Response.Write(node2.InnerText); //输出名字为三级122的节点的内容
-----------------------------------------------------
附代码生成的xml文件:<?xml version="1.0" encoding="utf-8"?><root><一级1 xmlns="a1"><二级11 xmlns="a11"><三级111>a111</三级111><三级112>a112</三级112></二级11><二级12 xmlns="a12"><三级121>a121</三级121><三级122>a122</三级122></二级12></一级1></root>
下面是代码: string rootPath = @"d:\website\haocai\test2.xml";
XmlTextWriter xtr = new XmlTextWriter(rootPath, Encoding.GetEncoding("UTF-8"));
xtr.WriteStartDocument();
xtr.WriteStartElement("root") ;
xtr.WriteStartElement("一级1", "a1"); //GrandFather
xtr.WriteStartElement("二级11", "a11"); //Child
xtr.WriteElementString("三级111", "a111"); // GrandChild
xtr.WriteElementString("三级112", "a112"); // GrandChild
xtr.WriteFullEndElement() ; xtr.WriteStartElement("二级12", "a12");
xtr.WriteElementString("三级121", "a121");
xtr.WriteElementString("三级122", "a122");
xtr.WriteFullEndElement() ;
//xtr.WriteFullEndElement() ;
// xtr.writeStartElement("一级2") ; xtr.WriteEndDocument() ;
xtr.Flush() ; //这一步别忘了很重要
xtr.Close() ;
/*读取xml文件*/
// Response.Write(rootPath);
XmlDocument doc = new XmlDocument();
string filePath = Server.MapPath("test2.xml");
doc.Load(filePath);
XmlNode node1 = doc.SelectSingleNode("二级11");
Response.Write(node1.InnerText); //输出名字为二级11的节点的内容 XmlNode node2 = doc.SelectSingleNode("三级122");
Response.Write(node2.InnerText); //输出名字为三级122的节点的内容
-----------------------------------------------------
附代码生成的xml文件:<?xml version="1.0" encoding="utf-8"?><root><一级1 xmlns="a1"><二级11 xmlns="a11"><三级111>a111</三级111><三级112>a112</三级112></二级11><二级12 xmlns="a12"><三级121>a121</三级121><三级122>a122</三级122></二级12></一级1></root>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货