MFC下XML遍历同名节点(Node)
来源:互联网 发布:算法导论第三版答案pdf 编辑:程序博客网 时间:2024/06/06 03:42
主要还是弄清Nodelist和Node的关系。
1 #include <iostream> 2 #include <tchar.h> 3 4 #import <msxml3.dll> 5 6 int _tmain(int argc, _TCHAR* argv[]) 7 { 8 CoInitialize(NULL); 9 //读取XML10 MSXML2::IXMLDOMDocumentPtr spXMLDoc;11 spXMLDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));12 spXMLDoc->load(L"config.xml");13 MSXML2::IXMLDOMElementPtr spRoot = spXMLDoc->documentElement; //根节点14 15 //写入XML16 MSXML2::IXMLDOMNodePtr spNewNode = spRoot->selectSingleNode(L"/Win-DMS/SharedFolders")->appendChild(17 spXMLDoc->createNode(_variant_t(NODE_ELEMENT), L"Folder", L"")18 ); 19 spNewNode->text = L"D:\\123456\\";20 spXMLDoc->save(_variant_t(L"config.xml"));21 22 MSXML2::IXMLDOMNodeListPtr nolistptr = NULL;23 spNewNode->get_childNodes(&nolistptr);24 25 for (int i =0; i <nolistptr->Getlength(); i++)26 {27 MSXML2::IXMLDOMNodePtr nodeptr = NULL;28 nodeptr = nolistptr->Getitem(i);29 std::cout << "\tnodeValue: " << _bstr_t(nodeptr->nodeValue);30 std::cout << std::endl;31 }32 33 spNewNode.Release();34 //spNodeList.Release();35 spRoot.Release();36 spXMLDoc.Release();37 CoUninitialize();38 39 system("pause");40 return 0;41 }
判断是否有相同的元素,如果没有就加入到配置文件中去:
1 MSXML2::IXMLDOMDocumentPtr spXMLDoc; 2 spXMLDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30)); 3 spXMLDoc->load(L"config.xml"); 4 MSXML2::IXMLDOMElementPtr spRoot = spXMLDoc->documentElement; 5 MSXML2::IXMLDOMNodePtr spShareNode = spRoot->selectSingleNode(L"/Win-DMS/SharedFolders"); 6 MSXML2::IXMLDOMNodeListPtr FolderListPtr = NULL; 7 spShareNode->get_childNodes(&FolderListPtr); 8 MSXML2::IXMLDOMNodePtr FolderNodePtr = NULL; 9 long len = FolderListPtr->Getlength();10 for (int i =0; i <len; i++)11 {12 FolderNodePtr = FolderListPtr->Getitem(i);13 BSTR text = FolderNodePtr->Gettext();14 if(!lstrcmp((LPCWSTR)text ,szPath))15 {16 isSaved = TRUE;17 break;18 //AfxMessageBox(L"该目录已经在列表中……"); 19 }20 }21 if(isSaved == FALSE)22 {23 m_OwnerListBox->Add(szPath, AfxGetApp()->LoadIcon(IDI_FOLDER));24 //读取XML25 MSXML2::IXMLDOMNodePtr spNewNode = spRoot->selectSingleNode(L"/Win-DMS/SharedFolders")->appendChild(26 spXMLDoc->createNode(_variant_t(NODE_ELEMENT), L"Folder", L"")27 ); 28 spNewNode->text = szPath;29 spXMLDoc->save(_variant_t(L"config.xml"));30 }
- MFC下XML遍历同名节点(Node)
- XML文件操作(如果节点中有多个同名节点,但是每个节点的属性不同)
- k8s scheduler不同namespace同名node节点调度异常
- ASP遍历XML节点
- xml 遍历某个节点
- mfc ctreectrl遍历所有节点
- MFC CtreeCtrl 节点的遍历
- C# 遍历 XML文件 节点 net XML节点 遍历
- 递归遍历XML所有节点
- XML DOM遍历节点树
- XML遍历节点内部list
- Xml树状节点的遍历
- 遍历xml节点 要注意 comment节点
- mfc 增删改 xml 节点
- 遍历XML文档的所有节点及属性(ASP)
- xml操作(四) 遍历XML的节点
- ERLANG 节点(node)
- ORACLE下遍历树节点
- List<Map>类型的JavaScript数组应用范例:资讯列表多样化显示
- 运行地址和加载地址
- java模拟并发操作
- 复制文件
- Linux--常用命令--ps
- MFC下XML遍历同名节点(Node)
- [zz]如何使用istream_iterator将cin转到vector? (C/C++) (STL)
- GEF中区分mouse move和mouse drag
- 一步一步 安装Ubutu11.10 图文教程
- 对SelectionEditPolicy策略的源码分析
- demo3----蚊香制作
- 关于protege4的使用(1)
- 当前应用的路径
- Junction windows下的 link命令