首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XML-RPC.NET在参数中传递CDATA

使用XML-RPC.NET在参数中传递CDATA
EN

Stack Overflow用户
提问于 2013-12-05 20:25:32
回答 1查看 850关注 0票数 3

我想用包含以下片段的XML请求调用XML-RPC web服务的方法:

代码语言:javascript
复制
<member>
  <name>filters</name>
  <value><![CDATA[
    <filterinstances>
      <filterinstance type="date" comparison="equals">today</filterinstance>
    </filterinstances>
  ]]></value>
</member>    

为此,我使用XML-RPC.net代理,并以字符串的形式传递filters参数:

代码语言:javascript
复制
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被定义为一个结构。

代码语言:javascript
复制
public struct ReportDataParams
{
    public string show;
    public string filters;
}

问题是XML-RPC.Net对过滤器字符串中的XML进行解码。将以下片段发送到服务器:

代码语言:javascript
复制
      <member>
        <name>filters</name>
        <value>
          <string>&lt;![CDATA[&lt;filterinstances&gt;&lt;filterinstance type="date" comparison="equals"&gt;today&lt;/filterinstance&gt;&lt;/filterinstances&gt;]]&gt;</string>
        </value>
      </member>

有没有办法将CDATA xml片段直接作为参数传递给XML-RPC.Net?

EN

回答 1

Stack Overflow用户

发布于 2014-04-11 03:47:11

我也遇到过类似的问题。我的解决方案就是去掉所有CDATA的东西。在您的示例中,您只需传递:

代码语言:javascript
复制
<filterinstances><filterinstance type=\"date\" comparison=\"equals\">today</filterinstance></filterinstances>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20400018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档