有一个输入参数类型为string的web方法。但是这个参数实际上不是字符串而是xml。输入的例子是:
<![CDATA[<check>
<id>12354564</id>
<idMeaning>msisdn</idMeaning>
<amount>500</amount>
</check>]]>
Bellow被我的代码剪断,我在其中创建输入并调用方法
// create xml
var xml = new XElement("check",
new XElement("id", "41504823"),
new XElement("idMeaning", "msisdn"),
new XElement("amount", "500")
);
// add CDATA
var input = new XCData(xml.ToString());
// get client
var client = WSWrapper.GetClient();
// call method
client.DoCheck(input.ToString());
但是我遇到编码问题。如果我通过线路检查请求,我可以看到xml已编码为
<![CDATA[<check>
<id>41504823</id>
<idMeaning>msisdn</idMeaning>
<amount>500</amount>
</check>]]>
如何阻止此编码?
答案 0 :(得分:1)
无论你在网上阅读的是什么,你都不是以XML格式阅读它,而是以“文本格式”,“lt”代表“小于”,“&lt;”和gt,“大于”,“&gt;”。
请确保您在顶部有声明:
<?xml version="1.0" encoding="UTF-8"?>