利用msxml创建xml
发布时间:2020-12-16 05:22:16 所属栏目:百科 来源:网络整理
导读:利用msxml进行xml的创建与解析。第一部分:xml的创建创建了一个类,用来创建xml文件。LoadXmlFile.cpp文件内容如下: #include "StdAfx.h"#include "LoadXMLFile.h"#include msxml6.hLoadXMLFile::LoadXMLFile(void){}LoadXMLFile::~LoadXMLFile(void){}BOOL
利用msxml进行xml的创建与解析。 第一部分:xml的创建 创建了一个类,用来创建xml文件。 LoadXmlFile.cpp文件内容如下: #include "StdAfx.h" #include "LoadXMLFile.h" #include <msxml6.h> LoadXMLFile::LoadXMLFile(void) { } LoadXMLFile::~LoadXMLFile(void) { } BOOL LoadXMLFile::getXML(const CString cstrXML) { //加载.xml文件 CComPtr<IXMLDOMDocument> spXMLDoc; HRESULT hr = spXMLDoc.CoCreateInstance(_uuidof(DOMDocument)); hr = spXMLDoc->put_async(VARIANT_TRUE); VARIANT_BOOL bLoad; hr = spXMLDoc->load(CComVariant(cstrXML),&bLoad); CComPtr<IXMLDOMDocument> spLoadFile; CComPtr<IXMLDOMElement> spNewNode; spLoadFile = spXMLDoc.Detach(); //创建跟结点<china> spLoadFile->createElement(CComBSTR("学校"),&spNewNode); spLoadFile->putref_documentElement(spNewNode); //添加属性结点 spNewNode->setAttribute(CComBSTR("what"),CComVariant("up")); //添加注释结点 CComPtr<IXMLDOMComment> spComment; CComPtr<IXMLDOMNode> spInserteNode; spLoadFile->createComment(CComBSTR("学院名字"),&spComment); spNewNode->appendChild((IXMLDOMNode*) spComment,&spInserteNode); //添加普通子节点 CComPtr<IXMLDOMNode> spChildNode; CComPtr<IXMLDOMNode> spXMLNode; spLoadFile->createNode(CComVariant(NODE_ELEMENT),CComBSTR("学院"),NULL,&spXMLNode); spXMLNode->put_text(CComBSTR("计算机学院")); spNewNode->appendChild(spXMLNode,&spChildNode); CComPtr<IXMLDOMNamedNodeMap> MapNode; //添加带有子结点的节点 CComPtr<IXMLDOMNode> spBJChildNode; CComPtr<IXMLDOMNode> spNode; spLoadFile->createNode(CComVariant(NODE_ELEMENT),&spNode); spNode->put_text(CComBSTR("信通院")); spNewNode->appendChild(spNode,&spBJChildNode); CComPtr<IXMLDOMNode> spBJChild; CComPtr<IXMLDOMNode> spBjChildNode; spLoadFile->createNode(CComVariant(NODE_ELEMENT),CComBSTR("专业"),&spBJChild); spBJChild->put_text(CComBSTR("通信工程")); spNode->appendChild(spBJChild,&spBjChildNode); spLoadFile->save(CComVariant(cstrXML)); return TRUE; } 在主函数中进行如下调用: CString strAddr = _T("company.xml"); CoInitialize(NULL); LoadXMLFile loadXmlFile; loadXmlFile.getXML(strAddr); CoUninitialize(); 创建xml结果如图: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |