00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "IGameExporter.h"
00015 #include "atlbase.h"
00016 #include "msxml2.h"
00017
00018 BOOL InitialiseXML(IXMLDOMNode ** root, IXMLDOMDocument ** doc)
00019 {
00020
00021 HRESULT hr;
00022 hr = CoInitialize(NULL);
00023
00024 hr = CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER, IID_IXMLDOMDocument, (void**)&doc);
00025 if(FAILED(hr))
00026 return false;
00027
00028
00029 if(FAILED(hr))
00030 return false;
00031
00032 return true;
00033
00034 }
00035
00036
00037 BOOL CreateXMLNode(IXMLDOMDocument * doc, IXMLDOMNode * node, TCHAR *nodeName, IXMLDOMNode ** newNode)
00038 {
00039
00040 IXMLDOMNode * sceneNode;
00041 doc->createNode(CComVariant(NODE_ELEMENT), CComBSTR(nodeName), NULL, &sceneNode);
00042 node->appendChild(sceneNode,newNode);
00043 return true;
00044 }
00045
00046 BOOL AddXMLAttribute(IXMLDOMNode * node, TCHAR * name, TCHAR * value)
00047 {
00048 CComQIPtr<IXMLDOMElement> element;
00049 element = node;
00050 element->setAttribute(CComBSTR(name), CComVariant(value));
00051 return true;
00052 }
00053
00054 BOOL AddXMLText(IXMLDOMDocument * doc, IXMLDOMNode * node, TCHAR * text)
00055 {
00056 CComPtr <IXMLDOMText> keydata = NULL;
00057 doc->createTextNode(CComBSTR(text), &keydata);
00058 node->appendChild(keydata,NULL);
00059 return true;
00060
00061 }