一个关于Dataset读取xml字符类型的问题!

aihu0307 2004-11-22 11:34:52
程序很简单:
DataSet ds=new DataSet();
ds.ReadXml(Server.MapPath("Email.xml"),XmlReadMode.Auto);
MailsGrid.DataSource=ds;
MailsGrid.DataBind();

Email.xml存放着从邮箱中收取的邮件信息,但是由于某些邮件中了病毒,是它的字符变成了乱码变成了16进制,从而导致了dataset不能读取


它的出错信息如下:


“”(十六进制值 0x1A)是无效的字符。 行 6,位置 135。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Xml.XmlException: “”(十六进制值 0x1A)是无效的字符。 行 6,位置 135。

源错误:


行 27: // 在此处放置用户代码以初始化页面
行 28: DataSet ds=new DataSet();
行 29: ds.ReadXml(Server.MapPath("Email.xml"),XmlReadMode.Auto);
行 30: MailsGrid.DataSource=ds;
行 31: MailsGrid.DataBind();
...全文
67 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
aihu0307 2004-11-22
  • 打赏
  • 举报
回复
这样还是没用的啊,因为是dataset不能识别字符类型,就算到了filestream,它的出错字符还是存在的
到dataset中调用,还是要出错的啊!
rickjelly2004 2004-11-22
  • 打赏
  • 举报
回复
Dim ds As New DataSet
Dim fs As FileStream
Dim reader As StreamReader
Dim dv As DataView

fs = New FileStream(Server.MapPath("user.xml"), FileMode.Open, FileAccess.Read)
reader = New StreamReader(fs)
ds.ReadXml(reader)
fs.Close()

dv = New DataView(ds.Tables(1))
viewstate("dv") = ds
DataGrid1.DataSource = dv
DataGrid1.DataBind()
learner01 2004-11-22
  • 打赏
  • 举报
回复
等待!
learner01 2004-11-22
  • 打赏
  • 举报
回复
up!

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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