我想使用包含以下片段的 XML 请求调用 XML-RPC Web 服务的方法:
<member>
<name>filters</name>
<value><![CDATA[
<filterinstances>
<filterinstance type="date" comparison="equals">today</filterinstance>
</filterinstances>
]]></value>
</member>
为此,我使用 XML-RPC.net 代理并将过滤器参数作为字符串传递:
IGetReportData proxy = XmlRpcProxyGen.Create<IGetReportData>();
proxy.Url = "<* my url >*";
proxy.KeepAlive = false;
proxy.UseStringTag = false;
ReportDataParams rp = new ReportDataParams();
rp.show = "3";
rp.filters = "<![CDATA[<filterinstances><filterinstance type=\"date\" comparison=\"equals\">today</filterinstance></filterinstances>]]>";
string s = proxy.GetReportData("test", rp);
ReportParams 被定义为一个结构。
public struct ReportDataParams
{
public string show;
public string filters;
}
问题是 XML-RPC.Net 解码过滤器字符串中的 XML。以下片段被发送到服务器:
<member>
<name>filters</name>
<value>
<string><![CDATA[<filterinstances><filterinstance type="date" comparison="equals">today</filterinstance></filterinstances>]]></string>
</value>
</member>
有没有办法将 CDATA xml 片段作为参数逐字传递给 XML-RPC.Net?