xml中有不常见字符,XmlDocument.load时出错

fendiky 2005-11-29 10:51:16
xml中有不常见字符,XmlDocument.load时就出错了
询问有什么解决方法吗?

xml:
<?xml version="1.0" encoding="GB2312" ?>
- <rss version="2.0">
- <channel>
<title>网络实时快照</title>
- <item>
<title>上海浦东陆家嘴</title>
<link>http://www.ds-shanghai.org.cn/webcam/image.jpg</link>
<author>mztk</author>
<pubDate>实时更新</pubDate>
<description />
</item>
</channel>
</rss>

...全文
291 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fendiky 2005-11-29
  • 打赏
  • 举报
回复
顶下
fendiky 2005-11-29
  • 打赏
  • 举报
回复
我强制转过编码,用
StreamReader reader1 = new StreamReader(loadloadfile, Encoding.GetEncoding("gb2312"));
有时候没有用,由时候其他的中文就变成乱码了.

这个xml是我从众多错误的字符里面挑出来的,自己写的方便测试的,

如果要改的话,可以有方法让程序自己改吗,
xml 不是我人为操作的
fendiky 2005-11-29
  • 打赏
  • 举报
回复
我先把内容下到本地,然后
StreamReader reader1 = new StreamReader(loadloadfile);
document1.Load(reader1);
reader1.DiscardBufferedData();
reader1.Close();
报:
exception1.Message "“”(十六进制值 0x0E)是无效的字符。 行 3,位置 11。"
Johnny_de 2005-11-29
  • 打赏
  • 举报
回复
这个嘛?建议你换个编码格式或者自己改下吧。
Johnny_de 2005-11-29
  • 打赏
  • 举报
回复
或者你用<![CDATA[".."]]>试试看。
Johnny_de 2005-11-29
  • 打赏
  • 举报
回复
晕,你自己不能把那个字符改下吗?这种问题是因为语言环境不同的原因造成的,我也经常遇到,我都是自己改过来的。
fendiky 2005-11-29
  • 打赏
  • 举报
回复
那个字符这里发不上来,
我把这个xml例子放在朋友的服务器上了,

http://www.fxdm.net/images/rss.xml

:)
mapserver 2005-11-29
  • 打赏
  • 举报
回复
先用ie打开你的xml,看是否出错?
上面的xml格式是没有错误的,请确定你保存的时候的编码方式,如果是UTF-8的话,请换成ANSI试试。
机器人 2005-11-29
  • 打赏
  • 举报
回复
你可以使用IO先读成字符串,再用XmlDocument.LoadXml

110,570

社区成员

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

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

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