在XmlReader中使用它之前,是否有任何简单/通用的方法来清理基于XML的数据源,以便我可以正常使用与XML上的十六进制字符限制不符的XML数据?注意:该解决方案需要处理使用UTF-8以外的字符编码的XML数据源,例如,通过在XML文档声明中指定字符编码。剥离无效的十六进制字符时不改变源代码的字符编码一直是主要的问题。删除无效的十六进制字符应该只删除十六进制编码的值,因为您经常会在数据中恰好包含一个字符串(该字符串与十六进制字符匹配)中找到href值。背景:我需要使用符合特定格式(例如Atom或RSS提要)的基于XML的数据源,但希望能够使用已发布的数据源(根据XML规范包含无效的十六进制字符)。在.NET中,如果您有一个表示XML数据源的Stream,然后尝试使用XmlReader和/或XPathDocument对其进行解析,则会由于XML数据中包含无效的十六进制字符而引发异常。我当前解决此问题的尝试是将Stream解析为字符串,并使用正则表达式删除和/或替换无效的十六进制字符,但是我正在寻找一种性能更高的解决方案。
3 回答
- 3 回答
- 0 关注
- 476 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消