XML 安全 URLEncoding?

Ach*_*les 1 .net xml asp.net

如何对“xml 安全”的 URL 进行编码,其中查询字符串中的与号 (&) 不会破坏 XML?

例如:

www.somedomain.com/SomePage.aspx?SomeParam=SomeValue&SomeParam2=SomeVal

And*_*ker 5

简短的回答是像文档中的任何其他文本一样对 URL 进行编码。如果按如下方式替换字符,您不会出错:

& -> &
' -> '
" -> "
< -> &lt;
> -> &gt;
Run Code Online (Sandbox Code Playgroud)

(并且任何使用符合标准的解析器阅读文档的人都会得到正确的,即未编码的文本)。

然而,我会附和安东尼的评论:你为什么认为你需要担心这个?任何明智的 XML 编写系统都应该采用您想要表示的文本并自行进行编码(就像解析器将取消编码一样)。您的应用程序应该只需要处理未编码的文本,它应该依赖一个 XML 编写库来处理字符编码和保持格式良好。否则你可能会被称为bozo。看起来XmlTextWriter是进行所有必要更改的 .net API。