C++学习(八):Visual studio 2005 C++ MSXML使用示例
2017-01-14 14:02
537 查看
#include "stdafx.h" #include <Windows.h> #include <MsXml2.h> void parserxml() { HRESULT hr = NULL; VARIANT var; V_VT(&var) = VT_BSTR; // COM库初始化 CoInitialize(NULL); // IXMLDOMDocument* pXMLDoc; hr = CoCreateInstance(_uuidof(DOMDocument), NULL, CLSCTX_INPROC_SERVER, IID_IXMLDOMDocument, (void**)&pXMLDoc); // IXMLDOMProcessingInstruction* pi; pXMLDoc->createProcessingInstruction(L"xml", L"version=\"1.0\" encoding=\"utf-8\"", &pi); pXMLDoc->appendChild(pi, NULL); // IXMLDOMComment* commentElement; pXMLDoc->createComment(L"mybooks_is_the_best_books", &commentElement); pXMLDoc->appendChild(commentElement, NULL); // IXMLDOMElement* rootElement; pXMLDoc->createElement(L"mybooks", &rootElement); pXMLDoc->appendChild(rootElement, NULL); // IXMLDOMText* testElement; pXMLDoc->createTextNode(L"\n", &testElement); rootElement->appendChild(testElement, NULL); // IXMLDOMElement* pChildElement; pXMLDoc->createElement(L"book", &pChildElement); rootElement->appendChild(pChildElement, NULL); // V_BSTR(&var) = SysAllocString(L"C++ programming"); pChildElement->setAttribute(L"book_name", var); SysFreeString(V_BSTR(&var)); // IXMLDOMText* testElement1; pXMLDoc->createTextNode(L"\n", &testElement1); rootElement->appendChild(testElement1, NULL); // pXMLDoc->createElement(L"book", &pChildElement); rootElement->appendChild(pChildElement, NULL); // V_BSTR(&var) = SysAllocString(L"Windows program"); pChildElement->setAttribute(L"book_name", var); SysFreeString(V_BSTR(&var)); // IXMLDOMText* testElement2; pXMLDoc->createTextNode(L"\n", &testElement2); rootElement->appendChild(testElement2, NULL); // BSTR xmlstr; pXMLDoc->get_xml(&xmlstr); // V_BSTR(&var) = SysAllocString(L"d:\\test.xml"); pXMLDoc->save(var); SysFreeString(V_BSTR(&var)); pXMLDoc->Release(); // COM库反初始化 CoUninitialize(); }
结果:
<?xml version="1.0"?>
<!--mybooks_is_the_best_books-->
<mybooks>
<book book_name="C++ programming"/>
<book book_name="Windows program"/>
</mybooks>
相关文章推荐
- Visual Studio 2005 C++ 使用技巧
- 【VS2010学习笔记】【编程实例】 (在Visual Studio中使用C++创建和使用DLL)
- 灵活使用Visual Studio 2005调试C++程序
- c++学习笔记(1)——环境搭建、经典教程推荐及 Visual Studio 2005/2008中如何编译和运行C++程序
- 【VS2010学习笔记】【编程实例】 (在Visual Studio中使用C++创建和使用DLL)
- Visual Studio 2005 的 101 个示例 --MSDN
- Visual Studio 2005 的 101 个示例
- [翻译]在Visual C++ Express 2005中使用WTL
- 用示例学习C++的模板
- C++常用字符串处理函数及使用示例
- [学习笔记][C++Primer Plus]使用cout格式化输出字符串
- Visual Studio 2005 的101个示例下载
- c++学习笔记 2005-9
- Visual Studio 2005 开发Office(Word/Excel)项目的若干资源和示例
- Visual Studio 2005 的101个示例下载
- Visual Studio 2005 的101个示例下载
- Visual Studio 2005 的101个示例下载
- [翻译]在Visual C++ Express 2005中使用WTL
- 使用minidom来处理XML的示例(Python 学习)(转载)
- C++(VC 2005)学习笔记