CString CXmlDemoDlg::NodeToXML(MSXML::IXMLDOMNodePtr pNode, int& nImageToAdd, int& nSelectedImageToAdd, int flag)
{
USES_CONVERSION; MSXML::DOMNodeType nodeType;
pNode->get_nodeType(&nodeType); CString strTextToAdd; nImageToAdd = (int)nodeType;
nSelectedImageToAdd = (int)nodeType + 13; try
{
switch(nodeType)
{
case MSXML::NODE_INVALID:
strTextToAdd = _T("---");
break; case MSXML::NODE_ELEMENT:
strTextToAdd = W2T(pNode->GetnodeName());
break; case MSXML::NODE_ATTRIBUTE:
strTextToAdd.Format(_T("%s = %s"), W2T(pNode->GetnodeName()), W2T(_bstr_t(pNode->GetnodeValue())));
pNode->text = "dfkgpoer"; if(strTextToAdd.Find("m_str")!= -1 && flag == 0)
{ m_EditListCtrl.InsertItem(WholeNum, W2T(pNode->GetnodeName()));
m_EditListCtrl.SetItemText(WholeNum, 1, W2T(_bstr_t(pNode->GetnodeValue())));
//m_EditListCtrl.SetItemText(WholeNum, 2, "SubItem2");
WholeNum += 1;
}
if(strTextToAdd.Find("m_str")!= -1 && flag == 1)
{
//m_EditListCtrl.InsertItem(WholeNum, W2T(pNode->GetnodeName()));
m_EditListCtrl.SetItemText(WholeNum, 2, W2T(_bstr_t(pNode->GetnodeValue())));
//m_EditListCtrl.SetItemText(WholeNum, 2, "SubItem2");
WholeNum += 1;
} break; case MSXML::NODE_TEXT:
strTextToAdd = W2T(_bstr_t(pNode->GetnodeValue()));
break; case MSXML::NODE_CDATA_SECTION:
strTextToAdd = W2T(_bstr_t(pNode->GetnodeValue()));
break; case MSXML::NODE_ENTITY_REFERENCE:
strTextToAdd = W2T(pNode->GetnodeName());
break; case MSXML::NODE_ENTITY:
strTextToAdd = W2T(pNode->GetnodeName());
break; case MSXML::NODE_PROCESSING_INSTRUCTION:
strTextToAdd.Format(_T("%s %s"), W2T(pNode->GetnodeName()), W2T(_bstr_t(pNode->GetnodeValue())));
if(strTextToAdd.Find("m_str")!= -1) WholeNum += 1;
break; case MSXML::NODE_COMMENT:
strTextToAdd = W2T(_bstr_t(pNode->GetnodeValue()));
break; case MSXML::NODE_DOCUMENT:
strTextToAdd = _T("Root Document Node");
break;
case MSXML::NODE_DOCUMENT_TYPE:
strTextToAdd = W2T(_bstr_t(pNode->GetnodeName()));
break; case MSXML::NODE_DOCUMENT_FRAGMENT:
strTextToAdd = _T("Root Node of Document Fragment");
break; case MSXML::NODE_NOTATION:
strTextToAdd = W2T(_bstr_t(pNode->GetnodeName()));
break;
default:
ASSERT(_T("Invalid NODE TYPE!\n"));
}
}
catch(...)
{
strTextToAdd = _T("<ERROR!!>");
} return strTextToAdd;
}
void CXmlDemoDlg::OnClickedSave()
{
// TODO: Add your control notification handler code here
ListRegion ListContent;//read list control content
CString AttrName,AttrValue; int nCount = m_EditListCtrl.GetItemCount();
for(int index = 0; index <= nCount;index++)
{
AttrName = m_EditListCtrl.GetItemText(index,0);
AttrValue = m_EditListCtrl.GetItemText(index,2);
} CComboBox* combo_Content = (CComboBox*)GetDlgItem(IDC_Content);// 获取当前选中的项目ID。
int nIndex = combo_Content->GetCurSel();
CString strItem;
combo_Content->GetLBText( nIndex, strItem); // 就是得到选中的字符串了。
strItem = "new" + strItem;
//CString PathNameCopy = PathName;
CString SavePath;
SavePath = Path;
//int nPos;
//nPos = PathName.ReverseFind('\\');
//PathName = PathName.Right(PathName.GetLength() - nPos -1); //获取文件名
//SavePath += PathName;
MSXML::IXMLDOMDocumentPtr pDOMDoc_Org(__uuidof(MSXML::DOMDocument));
SavePath += strItem;
bool varResult = pDOMDoc_Org->load(_variant_t(SavePath)); //重新载入源文件
m_pDOMDoc = pDOMDoc_Org;
OnRefresh(1);
OnSaveXMLToFile(SavePath);
}
{
USES_CONVERSION; MSXML::DOMNodeType nodeType;
pNode->get_nodeType(&nodeType); CString strTextToAdd; nImageToAdd = (int)nodeType;
nSelectedImageToAdd = (int)nodeType + 13; try
{
switch(nodeType)
{
case MSXML::NODE_INVALID:
strTextToAdd = _T("---");
break; case MSXML::NODE_ELEMENT:
strTextToAdd = W2T(pNode->GetnodeName());
break; case MSXML::NODE_ATTRIBUTE:
strTextToAdd.Format(_T("%s = %s"), W2T(pNode->GetnodeName()), W2T(_bstr_t(pNode->GetnodeValue())));
pNode->text = "dfkgpoer"; if(strTextToAdd.Find("m_str")!= -1 && flag == 0)
{ m_EditListCtrl.InsertItem(WholeNum, W2T(pNode->GetnodeName()));
m_EditListCtrl.SetItemText(WholeNum, 1, W2T(_bstr_t(pNode->GetnodeValue())));
//m_EditListCtrl.SetItemText(WholeNum, 2, "SubItem2");
WholeNum += 1;
}
if(strTextToAdd.Find("m_str")!= -1 && flag == 1)
{
//m_EditListCtrl.InsertItem(WholeNum, W2T(pNode->GetnodeName()));
m_EditListCtrl.SetItemText(WholeNum, 2, W2T(_bstr_t(pNode->GetnodeValue())));
//m_EditListCtrl.SetItemText(WholeNum, 2, "SubItem2");
WholeNum += 1;
} break; case MSXML::NODE_TEXT:
strTextToAdd = W2T(_bstr_t(pNode->GetnodeValue()));
break; case MSXML::NODE_CDATA_SECTION:
strTextToAdd = W2T(_bstr_t(pNode->GetnodeValue()));
break; case MSXML::NODE_ENTITY_REFERENCE:
strTextToAdd = W2T(pNode->GetnodeName());
break; case MSXML::NODE_ENTITY:
strTextToAdd = W2T(pNode->GetnodeName());
break; case MSXML::NODE_PROCESSING_INSTRUCTION:
strTextToAdd.Format(_T("%s %s"), W2T(pNode->GetnodeName()), W2T(_bstr_t(pNode->GetnodeValue())));
if(strTextToAdd.Find("m_str")!= -1) WholeNum += 1;
break; case MSXML::NODE_COMMENT:
strTextToAdd = W2T(_bstr_t(pNode->GetnodeValue()));
break; case MSXML::NODE_DOCUMENT:
strTextToAdd = _T("Root Document Node");
break;
case MSXML::NODE_DOCUMENT_TYPE:
strTextToAdd = W2T(_bstr_t(pNode->GetnodeName()));
break; case MSXML::NODE_DOCUMENT_FRAGMENT:
strTextToAdd = _T("Root Node of Document Fragment");
break; case MSXML::NODE_NOTATION:
strTextToAdd = W2T(_bstr_t(pNode->GetnodeName()));
break;
default:
ASSERT(_T("Invalid NODE TYPE!\n"));
}
}
catch(...)
{
strTextToAdd = _T("<ERROR!!>");
} return strTextToAdd;
}
void CXmlDemoDlg::OnClickedSave()
{
// TODO: Add your control notification handler code here
ListRegion ListContent;//read list control content
CString AttrName,AttrValue; int nCount = m_EditListCtrl.GetItemCount();
for(int index = 0; index <= nCount;index++)
{
AttrName = m_EditListCtrl.GetItemText(index,0);
AttrValue = m_EditListCtrl.GetItemText(index,2);
} CComboBox* combo_Content = (CComboBox*)GetDlgItem(IDC_Content);// 获取当前选中的项目ID。
int nIndex = combo_Content->GetCurSel();
CString strItem;
combo_Content->GetLBText( nIndex, strItem); // 就是得到选中的字符串了。
strItem = "new" + strItem;
//CString PathNameCopy = PathName;
CString SavePath;
SavePath = Path;
//int nPos;
//nPos = PathName.ReverseFind('\\');
//PathName = PathName.Right(PathName.GetLength() - nPos -1); //获取文件名
//SavePath += PathName;
MSXML::IXMLDOMDocumentPtr pDOMDoc_Org(__uuidof(MSXML::DOMDocument));
SavePath += strItem;
bool varResult = pDOMDoc_Org->load(_variant_t(SavePath)); //重新载入源文件
m_pDOMDoc = pDOMDoc_Org;
OnRefresh(1);
OnSaveXMLToFile(SavePath);
}
解决方案 »
- 崩溃了 再不抢救快死人了
- 如何用VC来编写在局域网中访问SQL。。
- 请问做dvd应用软件主要是做些什么???一般用什么语言编程???要一些什么专业知识吗?比如数字图像处理
- 用ADO创建ACCESS表后,添加文本数据后的问题
- 什么时候CScrollView 的ScrollBar 什么时候会出现?怎么才能让它显示出来?
- 运行程序错误
- 向剪切板拷贝了一个文件后怎样得到这个文件的路径?
- 在同一个进程空间运行两个程序(进程隐藏)
- 在上海做软件销售人员工资大概多少?
- 我有一次登录邮件时,输入用户后,系统提示是否保存密码,我按Yes,后来每次登录后密码会自动上去,现在如何去掉这个功能??
- >>>>Mscomm控件的类成员函数不见了?
- LIBPNG载入图片后显示有误。VisualPNG.exe本身也不可以正常读取。
strTextToAdd.Format(_T("%s = %s"), W2T(pNode->GetnodeName()), W2T(_bstr_t(pNode->GetnodeValue())));
pNode->text = "dfkgpoer";
gjri = "abc";
pNode->Puttext(gjri);
if(strTextToAdd.Find("m_str")!= -1 && flag == 0)
{ m_EditListCtrl.InsertItem(WholeNum, W2T(pNode->GetnodeName()));
m_EditListCtrl.SetItemText(WholeNum, 1, W2T(_bstr_t(pNode->GetnodeValue())));
//m_EditListCtrl.SetItemText(WholeNum, 2, "SubItem2");
WholeNum += 1;
}
if(strTextToAdd.Find("m_str")!= -1 && flag == 1)
{
//m_EditListCtrl.InsertItem(WholeNum, W2T(pNode->GetnodeName()));
m_EditListCtrl.SetItemText(WholeNum, 2, W2T(_bstr_t(pNode->GetnodeValue())));
//m_EditListCtrl.SetItemText(WholeNum, 2, "SubItem2");
WholeNum += 1;
}
combo_Content = (CComboBox*)GetDlgItem(IDC_Content);// 获取当前选中的项目ID。
nIndex = combo_Content->GetCurSel(); combo_Content->GetLBText( nIndex, strItem); // 就是得到选中的字符串了。
strItem = "new" + strItem;
SavePath = Path;
SavePath += strItem;
OnSaveXMLToFile(SavePath); break;