2014-01-06 2 views
-1

Мне нужно отправить специальный символ через запрос XML. для выполнения этого действия, я преобразовать строку в UTF-8, как XML всегда использовать UTF-8 кодирование данных. [используя ниже код]отправить «#» и «&» charecter через запрос XML

byte[] myBytes = Encoding.Default.GetBytes(MyMessage); 
       MyMessage = Encoding.UTF8.GetString(myBytes); 

я могу отправить все специальные символы, такие как «@ $ %^*() <>? " кроме "#" и "&". Но эти два персонажа очень важны для меня. как я могу отправить эти два символа через XML. я также попробовать заменить и отправить с помощью

MyMessage= MyMessage.Replace("&", "&#38;"); 
MyMessage= MyMessage.Replace("#", "&#35;"); 

, но это тоже не работают.

я должен создать запрос и отправить URL: образец запроса в формате ниже:

http://1.2.3.4/Default.aspx?MSG_ID=20140107032647101768&BODY=test#&Time=20140107032647102769 
+3

Если вы сформируете свой «MyMessage» с помощью реального анализатора XML, вам не нужно ничего делать специальным. Он может избежать всех необходимых символов. Как ваша форма вашего xml? показать его код. –

+0

Пробовал ли вы использовать spojam

+1

Проверьте «SecurityElement.Escape» http://msdn.microsoft.com/en-us/library/system.security.securityelement.escape%28v=vs.110%29.aspx – Matthew

ответ

1

Заменить & на %26 и # по %23.

Это не конкретный XML, это проблема с URL-адресом. Чтобы поймать все проблемы, попробуйте HttpUtility.UrlEncode

Смежные вопросы