首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

VC++怎么办web service返回的dataset结果

2012-03-29 
VC++怎么处理web service返回的dataset结果我用一个add web reference生成了一个webservice的头文件,现在

VC++怎么处理web service返回的dataset结果
我用一个add web reference生成了一个webservice的头文件,现在可以调用它的接口,它返回一个结果

C/C++ code
HRESULT getSupportDataSet(        BSTR* getSupportDataSetResult    );

我现在可以得到这个BSTR,可里面的内容很多,而且包含了很多xml信息,我想把它转成xml来处理,这样,可以方便访问它的节点

C/C++ code
hr = CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER,             IID_IXMLDOMDocument, (void**)&pXMLDoc);hr = pXMLDoc->loadXML(bstr, &status);

可是loadXML老是失败,我把bstr换成一个简单的字符串(如:<r>\n<t>top</t>\n<b>bottom</b>\n</r>),loadXML就返回成功了,这是什么原因?返回的结果的字符串很大,50k,我把它保存到txt,用IE打开,可以显示,没有错误,所以这个字符串的格式是对的。不知道为什么loadXML会出错?

[解决办法]
1.检查一下返回的错误.
2.把返回的字符串用xml文件存一下,用IE打开试试
[解决办法]
给你提个建议,千万不要用webservice直接返回dataset,你可以在客户端定义一个对象,比如:
class result{
List<string> rows;
List<string> columns;
List<string> values;
}
用于存储dataset的内容,将result对象返回给客户端,这样以后想扩充什么东西,都可以扩充。如果返回dataset,以后就麻烦了!

热点排行