[英]Passing CDATA in a parameter with XML-RPC.NET
我想用XML請求調用XML-RPC Web服務的方法,該請求包含以下片段:
<member>
<name>filters</name>
<value><![CDATA[
<filterinstances>
<filterinstance type="date" comparison="equals">today</filterinstance>
</filterinstances>
]]></value>
</member>
為此,我使用XML-RPC.net代理,並將filters參數作為字符串傳遞:
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?
我遇到了類似的麻煩。 我的解決方案就是撕掉所有CDATA的東西。 在您的示例中,您只需傳遞:
<filterinstances><filterinstance type=\"date\" comparison=\"equals\">today</filterinstance></filterinstances>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.