如何将字符串写入XML文件问题

ak9527 2010-01-08 02:49:00
我获取字符串源码如下:

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");

}




老是报错
...全文
544 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
ak9527 2010-01-08
  • 打赏
  • 举报
回复
谢谢各位了!非常感谢1!!
wxm3630478 2010-01-08
  • 打赏
  • 举报
回复

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");

}

nkboy 2010-01-08
  • 打赏
  • 举报
回复
返回picnews 然后loadxml()、、、、、
ak9527 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wxm3630478 的回复:]
C# code
XmlDocument xml=new XmlDocument();
xml.Load(string filename);//是xml文件路径//xml.LoadXml(string xml);//xml文本
[/Quote]

不好意思,我是想吧已经读取的字符串写成XML文件,不是读取XML文件
ak9527 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 nkboy 的回复:]
另外你要直接是内存里面的字符串应该是loadxml,load函数是载入一个xml文件他的参数是该文件的路径
[/Quote]

那我 应该用什么语句,初次接触,不太明白该怎么弄
ak9527 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 nkboy 的回复:]
return Hotpic.ToString (); 返回的信息是错的 应该是picnews 吧、、、
[/Quote]
我修改为picnews后,出错提示编程这个:

路径中具有非法字符。
wxm3630478 2010-01-08
  • 打赏
  • 举报
回复

XmlDocument xml = new XmlDocument();
xml.Load(string filename); //是xml文件路径
//
xml.LoadXml(string xml); //xml文本
nkboy 2010-01-08
  • 打赏
  • 举报
回复
另外你要直接是内存里面的字符串应该是loadxml,load函数是载入一个xml文件他的参数是该文件的路径
nkboy 2010-01-08
  • 打赏
  • 举报
回复
return Hotpic.ToString (); 返回的信息是错的 应该是picnews 吧、、、
ak9527 2010-01-08
  • 打赏
  • 举报
回复
  <?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
wxm3630478 2010-01-08
  • 打赏
  • 举报
回复
用LoadXML() //
ak9527 2010-01-08
  • 打赏
  • 举报
回复
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

未能找到文件“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那个修改后也一样
INTTNY 2010-01-08
  • 打赏
  • 举报
回复
哈哈楼上两位眼力真厉害,我觉得应该是这个原因,不过我没看到回复前我没看出来
nkboy 2010-01-08
  • 打赏
  • 举报
回复
不止写错了 顺序也是错的、
soaringbird 2010-01-08
  • 打赏
  • 举报
回复
<channel>
</cannel>
其中一个写错了
kensouterry 2010-01-08
  • 打赏
  • 举报
回复
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<data><channel>
......
</data></cannel>";

元素嵌套出错,自己再查查XML脚本!
wuzhicheng5 2010-01-08
  • 打赏
  • 举报
回复
1.报错的信息,请楼主贴出来
2.估计是在dc.Save("C:\\student.XML"); 的时候报错的吧,
3.解决办法:断点到dc.Load(hotpic);取出hotpic的值,复制到一个新建的xml文件中,如a.xml;
4.大开a.xml ,可以看见存储的内容,那里不符合规范

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧