资讯详情

VC入门宝典十一(xml)

📅 2026/10/27 1:00:56 | 华诺云谱 👁 阅读
VC入门宝典十一(xml)
xml我们建立一个xml文件,内容如图所示:一,建立一个基于对话框的程序,工程名为xml;二,初始化OLE.BOOL CXmlApp::InitInstance(){AfxOleInit();…….}三,在对话框中增加一个按钮,ID为IDC_CREATE,我们在这个按钮的响应函数中生成一个xml文件.voidCXmlDlg::OnCreate(){MSXML2::IXMLDOMDocumentPtr pDoc;MSXML2::IXMLDOMElementPtr xmlRoot ;//创建DOMDocument对象HRESULT hr pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));if(!SUCCEEDED(hr)){MessageBox(无法创建DOMDocument对象请检查是否安装了MS XML Parser运行库!);}//根节点的名称为chinapDoc-raw_createElement((_bstr_t)(char*)china, xmlRoot);pDoc-raw_appendChild(xmlRoot, NULL);MSXML2::IXMLDOMElementPtr childNode ;pDoc-raw_createElement((_bstr_t)(char*)City, childNode);childNode-Puttext(WuHan);//节点值childNode-setAttribute(population,8,000,000);//属性名,属性值childNode-setAttribute(area,10000);xmlRoot-appendChild(childNode);pDoc-raw_createElement((_bstr_t)(char*)City, childNode);childNode-Puttext(ShangHai);childNode-setAttribute(population,12,000,000);childNode-setAttribute(area,12000);xmlRoot-appendChild(childNode);//保存到文件//如果不存在就建立,存在就覆盖pDoc-save(f://he.xml);}不要忘了#importmsxml4.dll//引入类型库四,再增加一个按钮,ID为IDC_GET,在这个按钮的响应函数中读取xml文件.voidCXmlDlg::OnGet(){//创建DOMDocument对象MSXML2::IXMLDOMDocumentPtr pDoc;HRESULT hr pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));if(!SUCCEEDED(hr)){MessageBox(无法创建DOMDocument对象请检查是否安装了MS XML Parser运行库!);}//加载文件pDoc-load(f://he.xml);//在树中查找名为City的节点,//表示在任意一层查找MSXML2::IXMLDOMElementPtr childNode ;childNode (MSXML2::IXMLDOMElementPtr)(pDoc-selectSingleNode(//City));//得到节点类型MSXML2::DOMNodeType nodeType;childNode-get_nodeType(nodeType);//节点名称BSTR var;CString name;childNode-get_nodeName(var);name (char*)(_bstr_t)var;//节点值VARIANT varVal;childNode-get_nodeTypedValue(varVal);CString strValue (char*)(_bstr_t)varVal;//节点属性,放在链表中MSXML2::IXMLDOMNamedNodeMapPtr pAttrs NULL;MSXML2::IXMLDOMNodePtr pAttrItem;childNode-get_attributes(pAttrs);longnCount ;pAttrs-get_length(nCount);for(inti 0 ; i nCount ; i){pAttrs-get_item(i,pAttrItem);//我们可以通过函数get_nodeName,get_nodeTypedValue得到属性名和属性值//也可以直接得到CString strAttrName (char*)(_bstr_t)pAttrItem-nodeName;CString strAttrValue (char*)(_bstr_t)pAttrItem-nodeTypedValue;}}计算几何为骨排样优化为魂作品一亲士套料工具箱https://qinshi.blog.csdn.net/article/details/167222655作品二亲士CAD工具箱https://qinshi.blog.csdn.net//article/details/156510081经典文章推荐二维排样https://qinshi.blog.csdn.net/article/details/164169163万物皆数学https://qinshi.blog.csdn.net/article/details/143057305查阅鄙人的博文请点击博文下载学院导航https://qinshi.blog.csdn.net/article/details/163717324活到老学到老。明朝中后期大约50%的进士能当上堂官(副部及更高)能当上堂官的举人只有十余人。子墨子言之事无终始无务多业。也就是我们常说的专业的人做专业的事。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑