如何編碼將在「查找字符串」中的&號(&)不會破壞XML的「xml-safe」URL?XML安全URLEncoding?
比如:
www.somedomain.com/SomePage.aspx?SomeParam=SomeValue & SomeParam2 = SomeVal
如何編碼將在「查找字符串」中的&號(&)不會破壞XML的「xml-safe」URL?XML安全URLEncoding?
比如:
www.somedomain.com/SomePage.aspx?SomeParam=SomeValue & SomeParam2 = SomeVal
簡短的答案是對URL進行編碼,就像文檔中的任何其他文本一樣。如果你替換字符如下時不會出問題:
& -> &
' -> '
" -> "
< -> <
> -> >
(和任何人讀取該文件與符合解析器會得到正確的,即未編碼,背課文)。
然而,我會迴應安東尼的評論:你爲什麼認爲你需要擔心這個?任何明智的XML編寫系統都應該採用您想要表示的文本並自己進行編碼(就像解析器將撤銷編碼一樣)。你的應用程序只需要處理未編碼的文本,它應該依靠XML編寫庫來處理字符編碼並保持格式良好。否則你冒險being called a bozo。它看起來像XmlTextWriter是進行所有必要更改的.net API。
的AntiXSS圖書館,你可以使用一個XmlEncode方法。
如果能幫助您指定爲什麼?我無法想象爲什麼某個不喜歡做某事的人(比如用字符串連接構建XML)需要擔心這一點。我並不是說你這樣做只是爲了知道你沒有這樣做,或者有點奇怪。 – AnthonyWJones 2010-02-24 16:35:54
我正在使用接受xml的API,其中一個字段是url。我需要在文檔中傳遞的URL中指定動態參數。 – Achilles 2010-02-24 16:37:30