为了账号安全,请及时绑定邮箱和手机立即绑定

在构造使用该数据的XmlReader或XPathDocument之前,如何从基于XML的数据源

在构造使用该数据的XmlReader或XPathDocument之前,如何从基于XML的数据源

万千封印 2019-11-27 13:12:37
在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
提交
取消
意见反馈 帮助中心 APP下载
官方微信