Android 在使用第2种方法发出Soap请求时,如何防止字符串被编码
我正在尝试传递一个soap请求,如下所示:Android 在使用第2种方法发出Soap请求时,如何防止字符串被编码,android,xml,soap,retrofit,Android,Xml,Soap,Retrofit,我正在尝试传递一个soap请求,如下所示: <soap:Envelope> <soap:Body> <Data>data='a' & type='b'</Data> </soap:Body> </soap:Envelope> 我该如何处理这个问题 谁能帮帮我吗 您可以指示解析器将中的内容视为CData。 我不确定您使用的是哪种XML解析器,但大多数XML解析器都提供了“CDATA”。做一些探索。您的
<soap:Envelope>
<soap:Body>
<Data>data='a' & type='b'</Data>
</soap:Body>
</soap:Envelope>
我该如何处理这个问题
谁能帮帮我吗 您可以指示解析器将
中的内容视为CData
。
我不确定您使用的是哪种XML解析器,但大多数XML解析器都提供了“CDATA”。做一些探索。您的XML将如下所示。这将确保不会转换特殊字符
<soap:Envelope>
<soap:Body>
<Data><![CDATA[ data='a' & type='b']]></Data>
</soap:Body>
有关更多详细信息,请参阅。谢谢您的帮助,但它已被编码为:
![CDATA[data=&apos;a&apos;&apos;type=&apos;b&apos;]
像这样:@raxabizze这是不正确的放置方式CDATA
。如果您在评论中引用了stackoverflow链接的正确答案,则答案会显示CDATA的正确方式。您必须像我在回答中提到的那样生成XML
。尝试解析器的各种选项,它应该可以工作。
new Retrofit.Builder()
.baseUrl(URL)
.addConverterFactory(SimpleXmlConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
<soap:Envelope>
<soap:Body>
<Data><![CDATA[ data='a' & type='b']]></Data>
</soap:Body>