请问如何把图像文件保存到XML文件中

zkszks 2005-02-23 03:26:58
我是用XML来保存产品结构的,产品对应一个总图,各个部件对应部件图,我想能不能不用数据库,直接把图像文件作为二进制形式保存在XML文件中?
我是用VC+MSXML4来开发的

是这样的,比如对于一个部件,我是想把部件图作为一个属性:
<?xml version="1.0" encoding="GB2312"?>
<坦克 type="Product"><车体 type="Part" image="췗髆"><J0001 type="Weld"/></车体></坦克>
但现在显然是有问题的,代码如下:
void CFolderListView::AdoReadFile(LPCTSTR filename, _variant_t &vReadTo)
{
try
{
_variant_t varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR);
_StreamPtr adostream;
adostream.CreateInstance(_T("ADODB.Stream"));
adostream->Type = adTypeBinary;
adostream->Open(varOptional,adModeUnknown, adOpenStreamUnspecified, _T(""), _T(""));

adostream->LoadFromFile(_bstr_t(filename));//bstrFileName);
vReadTo = adostream->Read(adReadAll);
adostream->Close();
}
catch (_com_error &e)
{
AfxMessageBox(e.ErrorMessage());
}
}

IXMLDOMNode *pNode = NULL;
if ( !SUCCEEDED(m_pDoc->QueryInterface(__uuidof(IXMLDOMNode),
reinterpret_cast<void**>(&pNode))))
return;
// 首先定位到当前选择的节点,即欲增加子节点的节点
pNode->selectSingleNode(strPath.AllocSysString(), &pNode); // 用XPATH语句定位

IXMLDOMElement* pElement = NULL;
pNode->QueryInterface(__uuidof(IXMLDOMElement), (void**)&pElement);

_variant_t vAttrValue;

AdoReadFile(strWMFPath, vAttrValue);

if (pElement->setAttribute(_bstr_t("image"), vAttrValue) == E_FAIL)
{
AfxMessageBox("Fail");
}

CComVariant vFile(m_strXMLFileName);
m_pDoc->save(vFile); // 保存修改后的XML文件

请大虾们帮我看看什么原因,谢谢了!
分不够再加!
...全文
119 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gu1dai 2005-02-25
  • 打赏
  • 举报
回复
XML好象有专门关于存储图片的格式,好象是svg什么的
----------------------------------------------

又长见识了

学习
zkszks 2005-02-24
  • 打赏
  • 举报
回复
能否说详细点,谢谢
netstu 2005-02-24
  • 打赏
  • 举报
回复
XML好象有专门关于存储图片的格式,好象是svg什么的
zkszks 2005-02-24
  • 打赏
  • 举报
回复
没人回复
zkszks 2005-02-23
  • 打赏
  • 举报
回复
节点的属性是变体类型,为何设置时,取出自动转换为字符形?
zkszks 2005-02-23
  • 打赏
  • 举报
回复
用base64将二进制编码成字符当然可以,但有不有更好的方法?
Meteorlet 2005-02-23
  • 打赏
  • 举报
回复
base64编码二进制文件然后保存到xml中
zkszks 2005-02-23
  • 打赏
  • 举报
回复
应可以
火电 2005-02-23
  • 打赏
  • 举报
回复
图像文件作为二进制形式保存在XML文件中

不太现实吧?

最好存路径

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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