我获取字符串源码如下:        public static string Hotpic()        {
            DataSet Hotpic = NewsManager.GetList(5, "ispic=0", "newsdate desc");
            string picnews = "<?xml version=\"1.0\" encoding=\"utf-8\"?><data><channel>";
            if (Hotpic.Tables[0].Rows.Count > 0)
            {
                for (int i=0; i < Hotpic.Tables[0].Rows.Count; i++)
                {
                    picnews += "<item><title>";
                    picnews += Hotpic.Tables[0].Rows[i]["title"].ToString();
                    picnews += "</title></item>";
                }
                picnews +="</data></cannel>";
            }
            return Hotpic.ToString ();
在页面中的调用:        protected void Page_Load(object sender, EventArgs e)
        {
            string hotpic = "";
            hotpic = Readpicnews .Hotpic ();
            System.Xml.XmlDocument dc = new XmlDocument();
            dc.Load(hotpic);
            dc.Save("C:\\student.XML");         }
老是报错

解决方案 »

  1.   

    1.报错的信息,请楼主贴出来
    2.估计是在dc.Save("C:\\student.XML"); 的时候报错的吧,
    3.解决办法:断点到dc.Load(hotpic);取出hotpic的值,复制到一个新建的xml文件中,如a.xml;
    4.大开a.xml ,可以看见存储的内容,那里不符合规范

      

  2.   

    <?xml version=\"1.0\" encoding=\"utf-8\"?>
    <data><channel>
    ......
    </data></cannel>";元素嵌套出错,自己再查查XML脚本!
      

  3.   

    <channel>
    </cannel>
    其中一个写错了
      

  4.   

    “/”应用程序中的服务器错误。
    --------------------------------------------------------------------------------未能找到文件“C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\System.Data.DataSet”。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.FileNotFoundException: 未能找到文件“C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\System.Data.DataSet”。源错误: 
    行 20:             hotpic = Readpicnews .Hotpic ();
    行 21:             System.Xml.XmlDocument dc = new XmlDocument();
    行 22:             dc.Load(hotpic);
    行 23:             dc.Save("C:\\student.XML"); 
    行 24:         }
     
    错误代码在这里,channel那个修改后也一样
      

  5.   

      <?xml version="1.0" encoding="utf-8" ?> 
    - <data>
    - <channel>
    - <item>
      <title>标题1</title> 
      <link>http://www.baidu.com/</link> 
      <image>upload/pic/01.jpg</image> 
      <time>2009-7-27 13:27:49</time> 
      </item>
    - <item>
      <title>标题2</title> 
      <link>http://www.163.com/</link> 
      <image>upload/pic/02.jpg</image> 
      <time>2009-7-27 13:28:21</time> 
      </item>
    - <item>
      <title>标题3</title> 
      <link>http://www.baidu.com/</link> 
      <image>upload/pic/03.jpg</image> 
      <time>2009-7-27 13:29:23</time> 
      </item>
    - <item>
      <title>标题4</title> 
      <link>http://www.163.com/</link> 
      <image>upload/pic/04.jpg</image> 
      <time>2009-7-27 13:29:23</time> 
      </item>
      </channel>
      </data>这个是我想写的XML,这个也是正在使用中的XML
      

  6.   

     return Hotpic.ToString (); 返回的信息是错的 应该是picnews 吧、、、
      

  7.   

    另外你要直接是内存里面的字符串应该是loadxml,load函数是载入一个xml文件他的参数是该文件的路径
      

  8.   


    XmlDocument xml = new XmlDocument();
    xml.Load(string filename); //是xml文件路径
    //
    xml.LoadXml(string xml); //xml文本
      

  9.   

    我修改为picnews后,出错提示编程这个:路径中具有非法字符。
      

  10.   


    不好意思,我是想吧已经读取的字符串写成XML文件,不是读取XML文件
      

  11.   

    返回picnews 然后loadxml()、、、、、
      

  12.   


          protected void Page_Load(object sender, EventArgs e)
            {
                string hotpic = "";
                hotpic = Readpicnews .Hotpic ();
                System.Xml.XmlDocument dc = new XmlDocument();
                dc.LoadXml(hotpic);  //改这里
                dc.Save("C:\\student.XML");         }