求思路,或相关文件信息皆可
解决方案 »
- 能不能在VS2008中集成flash?
- 这个操作是如何实现的
- socket超时掉线问题
- 多线程网络出错,大家分析一下在那儿出错了。
- vc用odbc连接access,提示我定义字段过多,已经在access删了啊,怎么在vc中删除字段?
- 请教各位大虾关于音量控制的问题
- socket api写的获取CGI返回,出现多余的数据
- 500分求助!!第四贴!解决了分给一个人!!http://expert.csdn.net/Expert/topic/2475/2475732.xml?temp=.3599817
- 简单问题,只是希望有人告知
- 多视图框架问题
- PPTP连接怎么增加路由
- 按照书本打的D3D程序~居然显示不出图形来?
序列化后的二进制数据使用某种编码(比如BASE64)转换成文本,如果本身就是文本则无需此步
把文本保存到XML中的CDATA节中
{
CString strFilePath = _T(""); if (bFlagSaveAs )
{
strFilePath.Format(_T("%s%s"),strPath,LANGUAGE_PROJECT_FILENAME);
}
else
{
strFilePath.Format(_T("%s%s"),GetProjectPath(),LANGUAGE_PROJECT_FILENAME);
}
CWaitCursor wati;
CComPtr<IXMLDOMDocument> pDoc;
HRESULT hr = pDoc.CoCreateInstance(__uuidof(DOMDocument));
if (FAILED(hr))
{
pDoc.Detach();
return false;
}
try
{
//设置根节点
CComPtr<IXMLDOMElement> xmlRoot ; //根节点
pDoc->createElement(BSTR(_T("FontTable")),&xmlRoot);
pDoc->appendChild(xmlRoot,NULL); //Language节点
for (int i = 0 ; i < m_LanguageInfo_ary.GetSize() ; i++)
{
CString strLanID = _T("");
CString strLanHAlign = _T("");
CString strLanVAlign = _T(""); Language_Info info = m_LanguageInfo_ary.GetAt(i);
strLanID.Format(_T("%d"),info.iLanguageID);
strLanHAlign.Format(_T("%d"),info.HAlignStyle);
strLanVAlign.Format(_T("%d"),info.VAlignStyle); //设置Language节点的属性
CComPtr<IXMLDOMElement> xmlLanElement;
hr = pDoc->createElement(BSTR(LANGUAGE_ITEM_LANGUAGE),&xmlLanElement);
xmlRoot->appendChild(xmlLanElement,NULL);
xmlLanElement->setAttribute(BSTR(_T("Name")) ,CComVariant(info.strLanguageName));
xmlLanElement->setAttribute(BSTR(_T("H_Align")) ,CComVariant(info.HAlignStyle));
xmlLanElement->setAttribute(BSTR(_T("V_Align")) ,CComVariant(info.VAlignStyle));
xmlLanElement->setAttribute(BSTR(_T("H_Offset")) ,CComVariant(info.H_Offset));
xmlLanElement->setAttribute(BSTR(_T("V_Offset")) ,CComVariant(info.V_Offset)); //创建Style节点
CResourceList::iterator it = info.StyleMgr.m_ResourceList.begin();
for (;it!=info.StyleMgr.m_ResourceList.end();it++)
{
CResourceItem* pStyleItem = (*it);
CComPtr<IXMLDOMElement> xmlStyleElement;
hr = pDoc->createElement(BSTR(_T("Style")),&xmlStyleElement);
xmlLanElement->appendChild(xmlStyleElement,NULL);
xmlStyleElement->setAttribute(BSTR(_T("Name")) ,CComVariant(pStyleItem->m_strResourceName));
xmlStyleElement->setAttribute(BSTR(_T("ImageFormat")) ,CComVariant(pStyleItem->m_nType));
xmlStyleElement->setAttribute(BSTR(LANGUAGE_STYLEATTR_RDT) ,CComVariant(pStyleItem->m_strRawDataType));
xmlStyleElement->setAttribute(BSTR(_T("UseTransColor")) ,CComVariant(pStyleItem->m_bUseTranColor));
DWORD dwColor = (DWORD)pStyleItem->m_TranColor;
xmlStyleElement->setAttribute(BSTR(_T("TransColor")) ,CComVariant(dwColor));
xmlStyleElement->setAttribute(BSTR(_T("C2CTbl")) ,CComVariant(pStyleItem->m_CCTableName));
xmlStyleElement->setAttribute(BSTR(_T("C2PTbl")) ,CComVariant(pStyleItem->m_CPTableName));
}
} hr = pDoc->save(CComVariant(strFilePath));
CFormatXML::Format(strFilePath);
if (FAILED(hr))
{
pDoc.Detach();
return false;
}
pDoc.Detach();
}
catch (CFileException* e)
{
e->Delete();
pDoc.Detach();
return false;
} return true;
}