从XML字符串中删除非法字符

mat*_*lin 3 c# xml

我有一个包含一些XML的字符串.例如:

<foo>
    <bar>this is < than this</bar>
</foo>
Run Code Online (Sandbox Code Playgroud)

我需要先删除它中的illagal字符,然后再将其加载到XmlDocument.

有什么想法吗.

提前致谢

Kat*_*ory 5

我有一个包含一些Xml的字符串.

不,你没有.你有一些类似XML的文本格式不正确.一旦它全部粘在一起,就很难找到特殊的角色.哦,你可以尝试寻找"<"或">",但无论如何都会出现.我的建议是回过头来看看那个字符串来自哪里.更改该代码,以便处理特殊字符.

在没有任何其他选项的情况下,我可能暂时忽略XML工具(因为当你试图给它们字符串时它们会抛出)并且执行某种打开/关闭的运行计数(奇数/偶数用于引号) )关于特殊字符.一旦你遇到了<,你就不会被允许另一个,直到你遇到一个>,例如.不幸的是你不能在属性中使用<等等,所以我不知道你会做什么,<foo p1="a<a">但至少你可以解决<foo>a<A</foo>.(假设他们永远不会在标签名称中加上<,那么遇到第二个就意味着你需要备份并逃脱第一个.)一旦你遇到了一个>,就不能有另一个.等等.我的同情.