VC++怎么办web service返回的dataset结果
VC++怎么处理web service返回的dataset结果我用一个add web reference生成了一个webservice的头文件,现在
VC++怎么处理web service返回的dataset结果
我用一个add web reference生成了一个webservice的头文件,现在可以调用它的接口,它返回一个结果
C/C++ codeHRESULT getSupportDataSet( BSTR* getSupportDataSetResult );
我现在可以得到这个BSTR,可里面的内容很多,而且包含了很多xml信息,我想把它转成xml来处理,这样,可以方便访问它的节点
C/C++ codehr = 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,以后就麻烦了!