#pragma once
#import <msxml6.dll> // raw_interfaces_only,named_guiIDs
using namespace MSXML2;
#include <vector>
using namespace std;
class CConfigXmlFile02
{
public:
CConfigXmlFile02(void);
virtual ~CConfigXmlFile02(void);
CConfigXmlFile02(CString path);
protected:
bool InitDoc(void);
public:
int GetNodeAttTextArr(LPCTSTR lpszItem, LPCTSTR lpszAtt, vector<CString> vecData);
int GetNodeTextArr(LPCTSTR lpszItem, LPCTSTR lpszAtt, vector<CString> &vecData);
int GetNodeIntArr(LPCTSTR lpszItem, LPCTSTR lpszAtt, vector<int> &vecData);
int GetNodeChildNoteCount(LPCTSTR lpszItem);
// unit get
CString GetNodeText(LPCTSTR lpszItem);
INT GetNodeInt(LPCTSTR lpszItem);
INT GetNodeRGB(LPCTSTR lpszItem);
// arr get
int SetNodeTextArr(LPCTSTR lpszItem, LPCTSTR lpszSubItem, vector<CString> vecData);
// unit set
BOOL SetNodeText(LPCTSTR lpszItem, LPCTSTR lpszText);
BOOL SetNodeInt(LPCTSTR lpszItem, int nData);
private:
CString m_filepath;
MSXML2::IXMLDOMDocument2Ptr m_spReadPrjDoc;
protected:
int RemoveChildNode(void);
};