请问为什么加载本地XML文件会失败?

Tintin007 2007-04-22 07:36:38
很奇怪,使用MSXML::IXMLDocumentPtr的load方法读取books.xml的时候,如果books.xml为空,则读取没有问题,写入也没有问题;不过当books.xml不为空时,load方法就失败了。
我的xml文本内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<BOOKLIST>
<BOOK>
<NAME>maths</NAME>
</BOOK>
<BOOK>
<NAME>chinese</NAME>
</BOOK>
</BOOKLIST>
请问各位,为什么会这样子喔?
...全文
958 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tintin007 2007-04-22
  • 打赏
  • 举报
回复
谢谢你啊!
不过我把它改成这样子了:
CComVariant bstrPath = "C:\\Books.xml";
pDoc->load(bstrPath);
然后运行,第一次是空文件的时候,是可以读取和写入,不过第二次打开books.xml的时候,就出现错误了,应该是pDoc没有加载Books.xml。
masterz 2007-04-22
  • 打赏
  • 举报
回复
HRESULT load(
VARIANT xmlSource,
VARIANT_BOOL *isSuccessful);
load的返回值是VARIANT_BOOL,你把它强制转换为HRESULT,恐怕有问题
Tintin007 2007-04-22
  • 打赏
  • 举报
回复
//加载文件
_bstr_t bstrPath = "c:\\Books.xml";
pDoc->async = VARIANT_FALSE;
hr=pDoc->load(bstrPath);
if(!SUCCEEDED(hr)) {
MessageBox("Can't Load the XML file!");
return;
}

是不是这样啊?好像还是不行啊
masterz 2007-04-22
  • 打赏
  • 举报
回复
IXMLDOMDocument::async要设为VARIANT_FALSE

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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