XML文件打开时出现错误,怎么办?

 我来答
南非乌雀
2018-04-03 · TA获得超过4.9万个赞
知道小有建树答主
回答量:62
采纳率:100%
帮助的人:1.6万
展开全部

简单的处理方法

return System.Text.RegularExpressions.Regex.Replace(HttpUtility.HtmlEncode(str),@"[\x00-\x08]|[\x0B-\x0C]|[\x0E-\x1F]", "");

复杂处理

获取xml时,出现“(十六进制值 0x1F)是无效的字符之类Xml异常的解决办法2008-12-19 10:44最近做新闻采集器,需要获取很多站点的xml,加载个别站点经常出现“(十六进制值 0x1F)是无效的字符”问题,百思不的其解。对于问题站点xml的处理,开始的思路是既然直接用 XmlDocument对象的Load()方法不行,就用LoadXML() ,用HttpWebRequest 获取url读到流里再转为xml,中间可以加一些非有效字符的过滤处理,但仍然无效,仅仅解决了请求超时的问题...

问题搁置了1周后,终于在今天解决了。

其实很简单,只加一条语句就搞定了

XmlDocument doc = new XmlDocument(); 

doc.Normalize();

// 摘要:

//     将此 XmlNode 下子树完全深度中的所有 XmlText 节点都转换成“正常”形式,在这种形式中只有标记(即标记、注释、处理指令、CDATA

//     节和实体引用)分隔 XmlText 节点,也就是说,没有相邻的 XmlText 节点。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式