如题
解决方案 »
- 数据转换的问题,走过的大哥看看!!
- 关于MySQL数据库长时间频繁访问的思考
- 高分求解内存泄漏问题,急,马上送分!!
- 请问GPS的解码是怎么回事?
- 到底应该用socket还是用CSocket(全部送分)?
- LPVOID pRemoteDllPath = VirtualAllocEx(hRemoteProcess,NULL,strlen(DllPath)+1,MEM
- 快来帮帮忙,我有大量的分送
- 如何在以对话框为FRAME的工程内加toolbar...
- 能否实现在一程序退出的同时把另一程序也退出?
- 甩泪求大虾帮帮小弟,关于m_strFilter这个简单问题
- 如何实现桌面dock?
- 有没有人知道DeviceIoControl的用法?
XML可以用记事本打开的。试试行不行。
其实用vc.net就很方便了,有现成的类可以用。
祝好运!
{
HRESULT hr;
IXMLDOMDocument2 * pXMLDoc = NULL; // 创建XMLDOMDocument实例
if (FAILED(CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER,
__uuidof(IXMLDOMDocument2), (void**)&pXMLDoc)))
return false;
// 禁止异步处理
hr = pXMLDoc->put_async(FALSE);
if (FAILED(hr))
{
pXMLDoc->Release();
return false;
}
// 将XML文本载入文档
VARIANT v;
v.vt = VT_BSTR;
v.bstrVal = SysAllocString(CT2W(lpszFile));
if (pXMLDoc->load(v) == VARIANT_FALSE)
{
pXMLDoc->Release();
return false;
}
// 将根结点下的内容加到树中
if (pXMLDoc->documentElement)
{
MSXML2::IXMLDOMNodePtr pChildNode = pXMLDoc->documentElement->GetfirstChild();
while(pChildNode)
{
AddXMLDOMDocToBranch(hParent, pXMLDoc, pChildNode);
pChildNode = pChildNode->GetnextSibling();
}
}
return true;
}bool CPCTreeView::SaveTreeInfo(LPCTSTR lpszFile, HTREEITEM hParent)
{
HRESULT hr;
IXMLDOMDocument2 * pXMLDoc = NULL; // 创建XMLDOMDocument实例
if (FAILED(CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER,
__uuidof(IXMLDOMDocument2), (void**)&pXMLDoc)))
return false;
// 禁止异步处理
if (FAILED(pXMLDoc->put_async(FALSE)))
{
pXMLDoc->Release();
return false;
}
// 添加XML处理指令,以将最终XML标志为合法的XML文档
#ifndef _UNICODE
MSXML2::IXMLDOMProcessingInstructionPtr pPI = pXMLDoc->createProcessingInstruction(SysAllocString(L"xml"), // target
SysAllocString(L"version=\"1.0\" encoding=\"UTF-8\"") //Data
);
#else
MSXML2::IXMLDOMProcessingInstructionPtr pPI = pXMLDoc->createProcessingInstruction(SysAllocString(L"xml"), // target
SysAllocString(L"version=\"1.0\" encoding=\"UTF-16\"") //Data
);
#endif
if (pPI == NULL)
{
pXMLDoc->Release();
return false;
}
MSXML2::IXMLDOMNodePtr pOutNode = pXMLDoc->appendChild((MSXML2::IXMLDOMNode *)pPI);
if (pOutNode == NULL)
{
pXMLDoc->Release();
return false;
}
// 获取根结点
AddBranchToXMLDOMDocument(hParent, pXMLDoc, pXMLDoc);
VARIANT v;
v.vt = VT_BSTR;
v.bstrVal = SysAllocString(CT2W(lpszFile));
hr = pXMLDoc->save(v);
pXMLDoc->Release();
return true;
}