如何编码一个“xml-safe”的URL,其中查询字符串中的&符号(&)不会破坏XML?
For Instance:
www.somedomain.com/SomePage.aspx?SomeParam=SomeValue&SomeParam2=SomeVal
答案 0 :(得分:4)
简短的回答是对URL进行编码,就像文档中的任何其他文本一样。如果您按如下方式替换字符,则不会出错:
& -> &
' -> '
" -> "
< -> <
> -> >
(任何使用符合条件的解析器阅读文档的人都会得到正确的,即未编码的文本)。
然而,我会回应安东尼的评论:为什么你认为你需要担心这个?任何合理的XML编写系统都应该采用您想要表示的文本并进行编码本身(就像解析器将撤消编码一样)。您的应用程序应该只需处理未编码的文本,它应该依赖XML编写库来处理字符编码和保持良好的格式。否则你会冒being called a bozo的风险。看起来XmlTextWriter是.net API,可以进行所有必要的更改。
答案 1 :(得分:0)
AntiXSS库有一个你可以使用的XmlEncode方法。