Один из подходов заключается в том, чтобы сбрасывать XML-данные, отправляемые в качестве аргумента. Если вы отправляете XML из другого приложения ASP.NET, вы можете использовать: Uri.EscapeDataString. В соответствии с этим сообщением (C# Uri.EscapeDatastring() equivalent for Java) вам придется использовать классы URL или URI Java, чтобы избежать строки, которая впоследствии может быть использована в вашем приложении ASP.NET. Но java.net.URL и java.net.URI не позволяют вам избежать XML. Итак, вы можете сделать следующее:
1] Добавьте этот метод в свой код Java. Это измененная версия кода, который я нашел здесь: https://stackoverflow.com/a/10035382/2168278. Вы можете, как это предлагается в сообщении, использовать библиотеку XML.
public static String xmlEscapeText(String t)
{
StringBuilder sb = new StringBuilder();
for(int i = 0; i < t.length(); i++){
char c = t.charAt(i);
switch(c){
case '<': sb.append("%3C"); break;
case '>': sb.append("%3E"); break;
case '\"': sb.append("%22"); break;
case '&': sb.append("%26"); break;
case ' ': sb.append("%20"); break;
case '/': sb.append("%2F"); break;
default:
if(c>0x7e) {
sb.append("&#"+((int)c)+";");
}else
sb.append(c);
}
}
return sb.toString();
}
2] В коде ASP.NET (который я предполагаю, что C#), вы можете получить XML по:
var myXML = Uri.UnescapeDataString(op);
Я проверил мой код, используя этот кусок XML :
<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>
, который я получил здесь: http://www.w3schools.com/xml/note.xml
см. [Android, отправлять и получать XML через HTTP POST-метод] (http://stackoverflow.com/questions/5013373/android-send-and-receive-xml-via-http-post-method) может помогите вам в отправке xml в запрос –