Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

/home/rdbrown/doxygen/cse125g1/IGameExporter/XMLUtility.cpp

00001 /**********************************************************************
00002  *<
00003         FILE: XMLUtility.cpp
00004 
00005         DESCRIPTION:    Handy functions for XML, to keep the code a bit cleaner
00006 
00007         CREATED BY:             Neil Hazzard
00008 
00009         HISTORY:                Summer 2002
00010 
00011  *>     Copyright (c) 2002, All Rights Reserved.
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         // Check the return value, hr...
00024         hr = CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER,  IID_IXMLDOMDocument, (void**)&doc);
00025         if(FAILED(hr))
00026                 return false;
00027         // Check the return value, hr...
00028 //      hr = (IXMLDOMDocument &)doc->QueryInterface(IID_IXMLDOMNode, (void **)&root);
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 }

Generated on Thu Aug 18 16:03:07 2005 for Robin Hood: Thieves & Knights by doxygen1.2.18