CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

C#和XML交互中处理text字段回车的问题

楼主qqwwee1981(苯苯)2003-10-02 13:13:48 在 .NET技术 / C# 提问

各位高手:我想用C#写一个winform,把一个asp的论坛的数据库做一个本地的阅读器,用this.dataSet1.ReadXml获得远端的数据之后,写入本地机器,好容易解决了汉字乱码的问题,有发现原来是text的字段中的回车,在这里被写成“   &#xA”然后this.dataSet1.ReadXml就不能读取这个xml文件了。。请问各位大侠如何处理这个问题?  
   
  谢谢!  
  问题点数:0、回复次数:13Top

1 楼wenyuan(苑)回复于 2003-10-02 13:43:32 得分 0

你用什么方法写入机器的?不会直接用IO的吧?Top

2 楼qqwwee1981(苯苯)回复于 2003-10-02 14:07:02 得分 0

用的this.dataSet1.WriteXml  
  然后再用this.dataSet1.ReadXml就出错  
   
  另外补充一下,同样的代码,只要不读取text类型,并且包含回车的字段,调试成功。  
   
  可惜我写的是论坛客户端,必须有text的字段。Top

3 楼Gabriel_tosh(加百利)回复于 2003-10-02 14:51:08 得分 0

直接传Dataset得了~Top

4 楼zdy_8212(zdy_8212)回复于 2003-10-02 16:06:07 得分 0

你的回传信息指明了这是一个经过HTML转换过的码别,只要不让HTML转码,直接传输就可以达到要求,至于你在没有使用TEXT是正常,那只是提交的内容中只有这个TEXT字段必须经过编码!!!Top

5 楼qqwwee1981(苯苯)回复于 2003-10-03 08:04:54 得分 0

代码如下:  
  this.dataSet1.Locale   =   new   System.Globalization.CultureInfo("zh-CN");  
  this.dataSet1.ReadXml(@"http://127.0.0.2/bbs/qqq");  
   
  this.dataSet1.WriteXml(new   System.Xml.XmlTextWriter(@"E:\Documents   and   Settings\Administrator\My   Documents\Visual   Studio   Projects\bbs\bin\Debug\bbs.xml",System.Text.Encoding.GetEncoding("GB2312")));  
   
  以上部分成功。。然后我吧this.dataSet1.ReadXml(@"http://127.0.0.2/bbs/qqq");  
  修改成:  
   
  this.dataSet1.ReadXml(@"E:\Documents   and   Settings\Administrator\My   Documents\Visual   Studio   Projects\bbs\bin\Debug\bbs.xml");  
   
  就报错。。发现原来是text的字段中的回车,在这里被写成“   &#xA”。。。所以无法读取  
   
  希望高手能给一些实际的代码,帮助我解决这个问题。。我自己已经努力了一个星期了。。Top

6 楼shixueli(我们总是不能随心所欲)回复于 2003-10-03 08:32:50 得分 0

你可以用XmlDocument   试试:  
   
  XmlDocument   doc=new   XmlDocument();  
  doc.Load(Server.MapPath("t.xml"));  
  XmlNode   root=doc.DocumentElement;  
  root.SelectSingleNode("ha").InnerText="\n测试d\n";  
  doc.Save(Server.MapPath("t.xml"));Top

7 楼shixueli(我们总是不能随心所欲)回复于 2003-10-03 08:34:28 得分 0

而且&#xA应该是
吧?  
   
  
确实是回车,如果xml的encoding是GB2312的话Top

8 楼qqwwee1981(苯苯)回复于 2003-10-03 10:38:18 得分 0

1   我写的是winform不是webform  
   
  2   你的方式我尝试了,结果
没有消除,所有的汉字都乱码了。。Top

9 楼lisoft2002(lisoft2002)回复于 2003-10-03 11:48:52 得分 0

upTop

10 楼qqwwee1981(苯苯)回复于 2003-10-04 22:21:52 得分 0

upTop

11 楼qqwwee1981(苯苯)回复于 2003-10-05 10:30:54 得分 0

最后踢一次。。还是没人解决。。我就放弃了。。Top

12 楼shixueli(我们总是不能随心所欲)回复于 2003-10-05 22:23:19 得分 0

你看看经过方法WriteXml之后生成的xml文件,看看encoding是什么,然后试着修改一下这个属性,也许是这个问题Top

13 楼qqwwee1981(苯苯)回复于 2003-10-05 22:41:06 得分 0

代码如下:  
  this.dataSet1.Locale   =   new   System.Globalization.CultureInfo("zh-CN");  
  this.dataSet1.ReadXml(@"http://127.0.0.2/bbs/qqq");  
   
  this.dataSet1.WriteXml(new   System.Xml.XmlTextWriter(@"E:\Documents   and   Settings\Administrator\My   Documents\Visual   Studio   Projects\bbs\bin\Debug\bbs.xml",System.Text.Encoding.GetEncoding("GB2312")));  
   
  以上部分成功。。然后我吧this.dataSet1.ReadXml(@"http://127.0.0.2/bbs/qqq");  
  修改成:  
   
  this.dataSet1.ReadXml(@"E:\Documents   and   Settings\Administrator\My   Documents\Visual   Studio   Projects\bbs\bin\Debug\bbs.xml");  
   
  就报错。。发现原来是text的字段中的回车,在这里被写成“   &#xA”。。。所以无法读取  
   
  希望高手能给一些实际的代码,帮助我解决这个问题。。我自己已经努力了两个星期了。。Top

相关问题

  • C#.net web开发中如何判断字段串中的回车换行符
  • Text类型字段中的回车怎么没有了?
  • ?请问各位 如何 能除去字段中的 回车符
  • 如何在SQL语句中为TEXT字段回车?
  • 如何在SQL语句中为TEXT字段回车?在线等!!!
  • 在TERADATA中怎么去掉字段中的回车符
  • 如何处理带有回车等语句符号的字段
  • C#+SQL2000能用中文字段吗?
  • C#+ACCESS数据库中字段修改!
  • 如何用c#操作binary字段?

关键词

  • c#
  • 字段
  • bbs
  • 代码
  • 修改
  • 解决
  • debug
  • visual
  • xml
  • 回车

得分解答快速导航

  • 帖主:qqwwee1981

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo