Wince 5.0下解析XML文件,Load()本地xml文件出错

谭海燕 2010-06-27 03:57:02
在wince下,用MSXML3.0解析xml文件,

测试demo代码如下:



HRESULT hr;
CComPtr<IXMLDOMDocument> pXmlDoc = NULL;

hr = ::CoInitializeEx(NULL, COINIT_MULTITHREADED);

hr = ::CoCreateInstance(CLSID_DOMDocument,
NULL,
CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER,
IID_IXMLDOMDocument,(void**)&pXmlDoc);

VARIANT vFile;
vFile.vt = VT_BSTR ;
VARIANT_BOOL vBool;

vFile.bstrVal = SysAllocString(L"\\xmldemo.xml");//.XML文件名
//hr = S_OK;
hr = pXmlDoc->load(vFile,&vBool);//加载XML文件





调试结果:
hr = S_OK

vBool = -1;


为什么会出现这种情况?



wince 下解析xml文件还需要安装其他的东西么?


为什么 vBool会出错呢?

麻烦各位帮忙看看。


谢谢
...全文
290 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
谭海燕 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhou1xp 的回复:]

用CMarkUP这些轻量级的简析类啊,何必用COM呢
[/Quote]


CMarkUP 在wince下读写xml比较麻烦,还要用树。。。

所以,我决定用MSXML了。。

唉。。
zhou1xp 2010-06-28
  • 打赏
  • 举报
回复
用CMarkUP这些轻量级的简析类啊,何必用COM呢
谭海燕 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 newrain021011 的回复:]

调试结果:
hr = S_OK

vBool = -1;

这个是很奇怪。hr表示的一般是调用是否正常,有没有异常出现。vBool出错,表明你的xml街上上有一个错误。我记得xml里面有一个函数,用来获取最新的错误(类似GetLastError),你可以查看一下。

另外,可以用IE打开一下你的xml,是不是真的格式有问题?
[/Quote]


感谢你的回答。我已经知道答案了。

你可以去看下

VARIANT_BOOL FALSE = 0
VARIANT_BOOL TRUE = -1




唉,,都怪我自己以为BOOL和VARIANT_BOOL是一样的。
newrain021011 2010-06-28
  • 打赏
  • 举报
回复
调试结果:
hr = S_OK

vBool = -1;

这个是很奇怪。hr表示的一般是调用是否正常,有没有异常出现。vBool出错,表明你的xml街上上有一个错误。我记得xml里面有一个函数,用来获取最新的错误(类似GetLastError),你可以查看一下。

另外,可以用IE打开一下你的xml,是不是真的格式有问题?
谭海燕 2010-06-27
  • 打赏
  • 举报
回复
莫非是Load()无法加载本地xml文件?


谭海燕 2010-06-27
  • 打赏
  • 举报
回复
自己先顶一下。。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧