Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
////////////////////////////////////////////////////////////////////////////////////
//
// File: xml.h
//
// History: 16-Nov-00 markder Created.
//
// Desc: This file contains all object definitions used by the
// XML parsing code.
//
////////////////////////////////////////////////////////////////////////////////////
#ifndef __XML_H__
#define __XML_H__
#include <msxml.h>
BOOL AddAttribute(IXMLDOMNode* pNode, CString csAttribute, CString csValue); BOOL GetAttribute(LPCTSTR lpszAttribute, IXMLDOMNodePtr pNode, CString* pcsValue, BOOL bXML = FALSE); BOOL RemoveAttribute(CString csName, IXMLDOMNodePtr pNode); BOOL GetChild(LPCTSTR lpszTag, IXMLDOMNode* pParentNode, IXMLDOMNode** ppChildNode); CString GetText(IXMLDOMNode* pNode); BOOL GetNodeText(IXMLDOMNode* pNode, CString& csNodeText); CString GetNodeName(IXMLDOMNode* pNode); CString GetParentNodeName(IXMLDOMNode* pNode); CString GetXML(IXMLDOMNode* pNode); CString GetInnerXML(IXMLDOMNode* pNode); LANGID MapStringToLangID(CString& csLang); CString GetInnerXML(IXMLDOMNode* pNode); BOOL OpenXML(CString csFileOrStream, IXMLDOMNode** ppRootNode, BOOL bStream = FALSE, IXMLDOMDocument** ppDoc = NULL); BOOL SaveXMLFile(CString csFile, IXMLDOMNode* pNode); BOOL GenerateIDAttribute(IXMLDOMNode* pNode, CString* pcsGuid, GUID* pGuid); BOOL ReplaceXMLNode(IXMLDOMNode* pNode, IXMLDOMDocument* pDoc, BSTR bsText);
////////////////////////////////////////////////////////////////////////////////////
//
// XMLNodeList
//
// This class is a wrapper for the IXMLDOMNodeList interface. It simplifies
// C++ access by exposing functions for executing XQL queries and iterating
// through the elements in a node list.
//
class XMLNodeList { private: LONG m_nSize; IXMLDOMNodeListPtr m_cpList; CString m_csXQL;
public: XMLNodeList(); ~XMLNodeList();
void Clear(); LONG GetSize(); BOOL Query(IXMLDOMNode* pNode, LPCTSTR szXQL); BOOL GetChildNodes(IXMLDOMNode* pNode); BOOL GetItem(LONG nIndex, IXMLDOMNode** ppNode); };
#endif
|