windows-nt/Source/XPSP1/NT/base/wmi/bmoflocparser/inc/esputil/xmlbase.h
2020-09-26 16:20:57 +08:00

52 lines
2 KiB
C++

// XMLBase.h: interface for the CXMLBase class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_XMLBASE_H__E5C2DB63_6B7D_11D2_8DCF_204C4F4F5020__INCLUDED_)
#define AFX_XMLBASE_H__E5C2DB63_6B7D_11D2_8DCF_204C4F4F5020__INCLUDED_
#include "rribase.h"
using namespace MSXML;
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#pragma warning(disable : 4251)
class LTAPIENTRY CXMLBase
{
public:
CXMLBase();
virtual ~CXMLBase();
public:
bool GetTagItemsList(IXMLDOMNodePtr &spXDN, _bstr_t bstrTag, CStringList& strList);
bool RemoveTagNodes(_bstr_t bstrQuery, IXMLDOMNodePtr &spXDN);
bool IsTag(const _bstr_t strTag, IXMLDOMNodePtr &spXDN);
virtual bool GetTagText(int &nrefValue, _bstr_t bstrQuery, IXMLDOMNodePtr &spXDN);
virtual bool GetTagText(CLString& strValue, _bstr_t bstrQuery, IXMLDOMNodePtr &spXDN);
virtual bool GetTagText(_bstr_t& bstrValue, _bstr_t bstrQuery, IXMLDOMNodePtr &spXDN);
virtual bool GetTagText(bool &nrefValue, _bstr_t bstrQuery, IXMLDOMNodePtr &spXDN);
virtual bool GetTagTextYesNo(int &nrefValue, _bstr_t bstrQuery, IXMLDOMNodePtr &spXDN);
virtual bool GetTagTextYesNo(bool &nrefValue, _bstr_t bstrQuery, IXMLDOMNodePtr &spXDN);
virtual bool SetTagText(const CLString& strValue, _bstr_t bstrQuery, IXMLDOMNodePtr &spXDN);
virtual bool SetTagText(DWORD dwValue, BOOL fHex, _bstr_t bstrQuery, IXMLDOMNodePtr &spXDN);
virtual bool SetTagText(const _bstr_t& bstrValue, _bstr_t bstrQuery, IXMLDOMNodePtr &spXDN);
virtual IXMLDOMNodePtr CreateNodeFromXMLString(const _bstr_t& bstrXML);
virtual IXMLDOMNodePtr CreateXMLNode(const _bstr_t bstrNewTag, _variant_t& var, IXMLDOMNodePtr spXDNParent);
IXMLDOMNodePtr SelectSingleNode(IXMLDOMNodePtr &spXDN, const _bstr_t queryString);
protected:
IXMLDOMDocumentPtr m_spIXMLDOMDoc;
IXMLDOMNodePtr m_spRootNode;
};
#endif // !defined(AFX_XMLBASE_H__E5C2DB63_6B7D_11D2_8DCF_204C4F4F5020__INCLUDED_)