如何过滤字符串中的非法字符?

zsgbox 2009-09-10 01:35:04
从别的程序中传给我一个字符串,是XML格式,我加载却报非法字符,而查看字符串又看不出什么不正常,我试着对字符串进行转码也无效,这种情况该如何处理?哪位知道如何过滤掉非法字符?
...全文
588 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangkaijunykj 2009-09-16
  • 打赏
  • 举报
回复
顶下
学习中
zsgbox 2009-09-16
  • 打赏
  • 举报
回复
XMLDocument载入也正常,但用DataSet载入报错,Dataset.ReadXMLSchema()不出错,无奈,转换成XML,自已解析再生成数据集。
zhanlang9075 2009-09-10
  • 打赏
  • 举报
回复
各位好拉,在下关注中
[路在脚下] 2009-09-10
  • 打赏
  • 举报
回复
LoadXml改成load 应该就可以了
wxm3630478 2009-09-10
  • 打赏
  • 举报
回复
你调试的时候把得到的那段字符 复制下来:

string xml = "得到的XML字符";

xd.LoadXml("得到的XML字符");

然后再去试 是不是有问题............我前段时间就遇到了一个问题

就是解密一个xml文件,得到XML字符串, 然后用xd.LoadXml(xml),总是通不过..报什么错忘记了...调试的时候把那段字符拷贝下来,放到xd.LoadXml("XML字符"); 有可以通过


后来网上查了下 xml.Trim(); 加了这个东西 可以了 ,不知道是什么原因,但是前后又没有空格....

你也试一下...
braveheal 2009-09-10
  • 打赏
  • 举报
回复
可以先用Dataset.ReadXMLSchema()试下看看有没有问题,如果有,那应该是因为DataTable的column 里面含有非法字符
zsgbox 2009-09-10
  • 打赏
  • 举报
回复
用IE打开这个文件什么都很正常,用XMLDocument载入也正常,但用DataSet载入却报错,就报非法字符串。查看文件,没有任何不对。郁闷。
zhangyanyang 2009-09-10
  • 打赏
  • 举报
回复
是不是有圆角的
zsgbox 2009-09-10
  • 打赏
  • 举报
回复
其实DLL那边也不知道怎么加进去了乱码,也查不出问题了,编码换成UTF-8了也不行,其实是他把他提到的数据,组成了一个XML格式的DataSet数据集,把字符拷出来,放到文件里,用IE打开XML文件一点没有错误,但如果我用dataSet加载,就报非法字符串,郁闷。
wuyq11 2009-09-10
  • 打赏
  • 举报
回复
看看具体内容
XML字符再转化获取数据。
System.Xml.XmlDocument xd= new System.Xml.XmlDocument();
xd.LoadXml(xml);
foreach (System.Xml.XmlNode node in xd.ChildNodes)
{

}
mbh0210 2009-09-10
  • 打赏
  • 举报
回复
还是两边协商,统一一下编码,乱码你拿到也处理不了
xzq686 2009-09-10
  • 打赏
  • 举报
回复
传过来的XML串让他们处理成UTF-8编码
或是XML结点用:
<![CATA[ 数据放这里 ]]>这种格式
zsgbox 2009-09-10
  • 打赏
  • 举报
回复
对,是有问题,但我怎么能过滤掉他的非法字符,那边是一个CB写的DLL,我是用C#调的,那边也查不出什么地方加了非法字符,但里面肯定有,单看却看不出来
mbh0210 2009-09-10
  • 打赏
  • 举报
回复
看看是不是编码的问题
xzq686 2009-09-10
  • 打赏
  • 举报
回复
那应该是传过来的XML字符串有问题..和非法字符没有关系

111,125

社区成员

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

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

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