概述
我有一些无效的XML(属性值中的<>&“”字符) . 我需要在C#中将它们解析为正确的XML文件 .
我能想到的唯一方法是转义属性中的无效字符 . 这适用于<>和&(&lt;,&gt;,&amp;) . 但是我在检测和更改属性中的“”时遇到问题 .
现在我正在使用此正则表达式来匹配属性值:
/="(.*?)"
我的测试用例是这样的:
3" test="dfsdf"/>
正如您在测试中看到的那样,匹配在引号“1”停止
如果我将正则表达式更改为贪婪 /="(.*)" 我匹配整行(因此包括同一行上的其他属性 .
很难定义xml属性的“结束引用” . 在我的测试用例中,它可以结束:
“(空间)
“/>
“
" otherAttribute=" value“
我知道我不需要解析这个无效的xml(甚至无效的sql查询,因为它使用双空格和==“1”的引号.Thas是因为它来自另一个将所有数据保存在CDATA中的应用程序但是对于我正在做的事情,我需要将CDATA部分解析为正确的XML(转义无效字符)
如果有人能在RegEx或RegEx和C#的组合中解决这个问题,请提前感谢!
最后
以上就是动听手链为你收集整理的java正则表达式 读取xml文件_用于匹配无效xml文件中的属性值的正则表达式的全部内容,希望文章能够帮你解决java正则表达式 读取xml文件_用于匹配无效xml文件中的属性值的正则表达式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复