我已经查看了使用特殊Chars将XML解析为SQL的大部分内容,并且找不到任何与XML输出本身无法控制的相关内容。 我知道这样做的方法是确保所有特殊字符都被转义,我遇到的问题是我无法控制直到事后才生成的XML。我可能有的输出可能是如下所示。我需要找到一种方法来替换其中的所有特殊字符而不触及对xml有效的字符。这可以使用CLR或直接SQL来完成,我甚至会考虑其他选项。
<?xml version="1.0" ?>
<A>
<B>this is my test <myemail@gmail.com</B>
<B>>>>this is another test<<<</B>
</A>
答案 0 :(得分:0)
您可能正在寻找与内容的HtmlEncode()类似的内容。循环遍历XML结构并在写入数据库之前对所需的字段进行编码,并对数据库中的读取执行HtmlDecode()。
https://msdn.microsoft.com/en-us/library/w3te6wfz%28v=vs.110%29.aspx
答案 1 :(得分:0)
如果您确定XML元素名称有效,那么解决方案可以使用正则表达式将XML解析为文本并替换&amp;使用&
和&gt;与>
和&lt;与<
。
例如,请查看此处regular expression to find special character & between xml tags。