请教如何纠正用户输入的错误代码引起XML的出错

ilikemovie 2010-11-01 10:49:43
求救:我的论坛是基于XML的,但用户发帖时有时复制过来的内容会有诸如:
<div 3x="xx"></div>
<a:p></a:p>
等不符合XML的东东,会造成XML出错
我自己想是不是用正则表达式把<>之间,""之外,所有[字符,=,空格]以外的,统统删掉,这样虽然还有漏网但应该能解决大部分问题。
但不知这个正则如何写。
如果不用正则还有没有其他方式?
如有能否解释的详细些?本人对C#,XML均一知半解,以前只是谢谢ASP,程序员走了,只好自己勉强上阵。
...全文
86 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
边城的刀声 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ilikemovie 的回复:]

楼上的大哥,我不是很明白。用户输入帖子的时候我可以不处理,直接保存到数据库中,这个时候不会出错,但最终输出的时候,这些信息是作为帖子内容输出到XML文件的一个节点里的,这个时候就出错了,因为有这些乱七八糟的东西。
[/Quote]
输出的时候HtmlEncode一下,它会把< 和 >还有一些其它符号转义的
ilikemovie 2010-11-01
  • 打赏
  • 举报
回复
各位大哥帮帮忙啊,小弟着急啊。
ilikemovie 2010-11-01
  • 打赏
  • 举报
回复
楼上的大哥,我不是很明白。用户输入帖子的时候我可以不处理,直接保存到数据库中,这个时候不会出错,但最终输出的时候,这些信息是作为帖子内容输出到XML文件的一个节点里的,这个时候就出错了,因为有这些乱七八糟的东西。
边城的刀声 2010-11-01
  • 打赏
  • 举报
回复
往xml保存时,用HtmlEncode下
ilikemovie 2010-11-01
  • 打赏
  • 举报
回复
我刚试了,是转义了,也不出错了,但效果也没了,本来是一张图片的,结果变成一段代码输出了。<img src="a.jpg" 3p="3" / >我希望输出是:<img src="a.jpg"/>,因为3p="3"这个要出错的。但转义以后输出变成< img src="a.jpg"……这种,这样显示出来就是代码而不是一张图片了。

111,129

社区成员

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

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

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