繁体   English   中英

libxmlrpc遍历struct

[英]libxmlrpc iterate through struct

我正在将libxmlrpc实现到C ++项目中,无论如何,我的RPC服务器返回了一个包含52个成员结构的结构。

我不知道键是什么,因为它们是不透明的引用,所以我不能依靠它们。

我应该如何遍历该结构,我以为是以下代码:

XmlRpcValue param_array = XmlRpcValue::makeArray();
param_array.arrayAppendItem(XmlRpcValue::makeString(this->sessionKey));
param_array.arrayAppendItem(XmlRpcValue::makeString("petabytes"));

XmlRpcValue result = ServerCall("Charter.getDataWarehouse.storage.capacity", param_array, url);
int index = 0;
while(index < result.structSize())
{
    XmlRpcValue Data = result.getStruct();


    //Would have thought it would work with this ;( shit documentation libxmlrpc has, grrrr
    //Data.structGetKeyAndValue(index);

    //This for example works, because I know the opaque reference, but in real life I wont
    cout << Data.structGetValue("OpaqueRef:d4e60db6-2271-b0ac-d362-1b51220980af").structSize() << endl;
    index++;
}

但是,Data.structGetKeyAndValue(index)错误与:

no matching function for call to 'XmlRpcValue::structGetKeyAndValue(int&)

很好,我知道它不是xmlrpcvalue的公共(很好,我认为它不是公共成员函数),但是我找不到任何可以允许我执行此操作的东西。

有人对此有经验吗?

一些快速的Google搜索似乎表明您的函数签名错误:

void XmlRpcValue::structGetKeyAndValue(const int index, std::string& out_key, XmlRpcValue& out_value);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM