gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 02:45:22 25 4
gpt4 key购买 nike

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

<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>&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?

最佳答案

我遇到过类似的问题。对我来说,解决方案是删除所有 CDATA 内容。在您的示例中,您只需通过:

<filterinstances><filterinstance type=\"date\" comparison=\"equals\">today</filterinstance></filterinstances>

关于c# - 使用 XML-RPC.NET 在参数中传递 CDATA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20400018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com