нам нужно убежать от символа '<' - PullRequest
1 голос
/ 21 июня 2011

В C # ASP.NET, если у нас есть символы <или> в строке.Нужно ли нам экранировать его как:

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

, потому что эта строка будет отправлена ​​внешнему методу через веб-сервисы.И в этом методе он будет конвертирован в некоторый 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

Спасибо за помощь

Ответы [ 4 ]

7 голосов
/ 21 июня 2011

Нет, вам не нужно убегать от этих персонажей. Что мешало тебе попробовать это самому?

UPDATE

На основании вашей дополнительной информации я бы сказал, что это зависит от того, что ожидает веб-служба Вероятно, что веб-служба будет кодировать входящие строковые данные. Вы пробовали это? Каковы ваши текущие результаты?

3 голосов
/ 21 июня 2011

Неа. < и > не нужно убегать. Единственный раз, когда вам может понадобиться экранировать < и >, это когда строка представлена ​​в виде данных внутри XML, в этом случае < должно быть &lt;, а > должно быть &gt;.

EDIT:

для asp.net вы можете использовать

string a = "<test>abcdef</test>";
string encodedXml = HttpUtility.HtmlEncode(a);
0 голосов
/ 21 июня 2011

Перед отправкой убедитесь, что строка закодирована в UTF-16 (кажется, что вы используете)

0 голосов
/ 21 июня 2011

Я полагаю, что побег не требуется.Посмотрите на эту MSDN ссылку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...