簡體   English   中英

我們需要轉義字符“ <”嗎

[英]do we need to escape the character '<'

在C#ASP.NET中,如果我們在字符串中包含字符<或>。 我們是否需要像這樣逃避它:

string a = "\\<test\\>abcdef\\</test\\>"

因為此字符串將通過webservices發送到外部方法。 並以該方法將其轉換為某種xml文件。

contentHtml = "<?xml version=\"1.0\" encoding=\"utf-16\"?>" + contentHtml;
content_ws.AddContent(contentHtml);
//AddContent() method is a external method (via webservices)

例如,ô現在轉換為ô。 但是我無法訪問de Web Service中的代碼

尋求幫助

不,您不需要轉義這些字符。 是什么阻止了您自己嘗試此操作?

更新

根據您的進一步信息,我想說這取決於Web服務的期望。 Web服務很可能將對傳入的字符串數據進行編碼。 你有嘗試過嗎? 您目前的結果是什么?

不。 <>不需要轉義。 您唯一需要轉義<>的時候就是將字符串表示為XML內的數據時,在這種情況下<必須為&lt; 並且>必須為&gt;

編輯:

對於asp.net您可以使用

string a = "<test>abcdef</test>";
string encodedXml = HttpUtility.HtmlEncode(a);

我相信不需要轉義字符。 看看這個MSDN鏈接

在發送前,請確保該字符串以UTF-16(似乎是您正在使用的字符串)進行編碼!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM