亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cxmlwrapper.h

?? windows ce imageviewer_customized
?? H
字號:
//
// CXmlWrapper.h
//
// --------------------------------------------------------
// A Practical Guide to Script-Driven Software Development
// Author: Qiming Lu                        Date: 6/1/2006
// MSN Messager: luqiming26@hotmail.com
// MSN Blog: http://spaces.msn.com/jemylu
// --------------------------------------------------------

#ifndef __H_CXmlWrapper__
#define __H_CXmlWrapper__

#import <msxml.dll>
#include <afxtempl.h>

typedef CArray<IXMLDOMNode*, IXMLDOMNode*> DOMNodeList;

class CXmlWrapper
{
public:
	CXmlWrapper();
	CXmlWrapper(const char * inXmlFile);
	virtual ~CXmlWrapper();

public:
	bool LoadFile(const char * inXmlFile);
	bool SaveFile();
	bool SaveFile(const char * inXmlFile);
	bool IsReady();
	CString GetFileName() { return mXmlFile; }

public:
	//node: create, insert and remove
	IXMLDOMNode* CreateNode(BSTR inNodeName, DOMNodeType inNodeType = NODE_ELEMENT);
	IXMLDOMNode* CreateNode(const char * inNodeName, DOMNodeType inNodeType = NODE_ELEMENT);
	bool RemoveNode(IXMLDOMNode * inParentNode, IXMLDOMNode * inSonNode);
	bool InsertNode(IXMLDOMNode * inParentNode, IXMLDOMNode * inSonNode);
	bool InsertNodeEx(const char * inNodeName, const char * inNodeText, 
		IXMLDOMNode * inParentNode = NULL);//for one-level xml file easy to use

	//attributes
	CString GetNodeAttr(IXMLDOMNode * inNode, const char * inAttr);
	bool SetNodeAttr(IXMLDOMNode* inNode, const char * inAttr, char * szVal);
	bool SetNodeAttr(IXMLDOMNode* inNode, const char * inAttr, const char * szVal);
	bool SetNodeAttr(IXMLDOMNode* inNode, const char * inAttr, long nVal);
	bool SetNodeAttr(IXMLDOMNode* inNode, const char * inAttr, unsigned long nVal);
	bool SetNodeAttr(IXMLDOMNode* inNode, const char * inAttr, int nVal);
	bool SetNodeAttr(IXMLDOMNode* inNode, const char * inAttr, unsigned int nVal);
	bool SetNodeAttr(IXMLDOMNode* inNode, const char * inAttr, double dblVal);
	bool SetNodeAttr(IXMLDOMNode* inNode, const char * inAttr, _variant_t vVal);

	//name, text and data
	CString GetNodeName(IXMLDOMNode * inNode);
	CString GetNodeTextEx(const char * inNodeName, IXMLDOMNode * inParentNode = NULL);
	CString GetNodeText(IXMLDOMNode* inNode);
	bool SetNodeText(IXMLDOMNode* inNode, const char * inText);
	
	//navigation
	IXMLDOMNode* GetNodeFirstChild(IXMLDOMNode * inNode);
	IXMLDOMNode* GetNodeNextSibling(IXMLDOMNode * inNode);
	IXMLDOMNode* GetNodeLastChild(IXMLDOMNode * inNode);
	IXMLDOMNode* GetNodePreviousSibling(IXMLDOMNode * inNode);
	bool GetNodeSubNodeList(DOMNodeList * outNodeList, IXMLDOMNode * inParentNode, const char * inWhatName = NULL);
	IXMLDOMNode* GetNodeSubNode(IXMLDOMNode * inParentNode, const char * inWhatName);

protected:
	CString				mXmlFile;
	IXMLDOMDocument *	mDocNode;
	IXMLDOMNode *		mRootNode;

protected:
	bool SetFileName(const char * inXmlFile);
	void Clean();

	// helper functions
	inline bool Element2Node(IXMLDOMNode ** outNode, IXMLDOMElement * const inElement)
	{
		HRESULT hr = inElement->QueryInterface(IID_IXMLDOMNode, (void**)outNode);
		return SUCCEEDED(hr);
	}

	inline bool Node2Element(IXMLDOMElement ** outElement, IXMLDOMNode * const inNode)
	{
		HRESULT hr = inNode->QueryInterface(IID_IXMLDOMElement, (void**)outElement);
		return SUCCEEDED(hr);
	}
};

#endif // __H_CXmlWrapper__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天综合天天做天天综合| 中文字幕精品一区二区精品绿巨人 | 日韩精品一区二区三区三区免费| 色婷婷久久一区二区三区麻豆| 色呦呦国产精品| 91久久奴性调教| 欧美日韩精品二区第二页| 欧美久久久久久久久中文字幕| 97久久超碰精品国产| 99re这里只有精品首页| 色诱视频网站一区| 制服视频三区第一页精品| 欧美精品久久一区| 国产欧美视频一区二区| 国产精品剧情在线亚洲| 日韩电影一区二区三区| 日本美女一区二区三区| 久久精品理论片| 日本免费新一区视频| 99久久国产综合精品女不卡| 欧美一级片在线观看| 中文字幕在线不卡一区二区三区| 一区二区三区在线不卡| 日韩精品亚洲一区二区三区免费| 免费成人在线视频观看| 秋霞电影一区二区| 欧美影院一区二区| 欧美国产成人精品| 91免费精品国自产拍在线不卡| 日韩欧美国产不卡| 亚洲6080在线| www.亚洲色图| 欧美高清性hdvideosex| 亚洲一区欧美一区| 在线免费观看日韩欧美| 亚洲理论在线观看| 91视频你懂的| 久久精品一区蜜桃臀影院| 午夜精品国产更新| 欧美三级在线看| 日韩av不卡一区二区| 51精品久久久久久久蜜臀| 三级影片在线观看欧美日韩一区二区| 国产伦精品一区二区三区免费迷| 欧美在线一区二区三区| 亚洲欧美另类综合偷拍| 欧美视频自拍偷拍| 日韩中文字幕不卡| 欧美一级搡bbbb搡bbbb| 国产一区二区不卡老阿姨| 久久免费美女视频| 国产精品一色哟哟哟| 国产精品久久毛片| 欧美三区在线观看| 蜜臀久久久99精品久久久久久| 欧美丰满美乳xxx高潮www| 久久99精品久久久久久国产越南 | 国产sm精品调教视频网站| 欧美国产日韩a欧美在线观看| 91一区二区在线观看| 午夜精品久久一牛影视| 久久久国产精华| 春色校园综合激情亚洲| 自拍视频在线观看一区二区| 91精品国产一区二区人妖| 成人免费看的视频| 人人超碰91尤物精品国产| 中文字幕的久久| 欧美午夜寂寞影院| 91论坛在线播放| 精品影视av免费| 中文字幕欧美一区| 日韩一区二区三区观看| 精品国产一区二区三区忘忧草| 一区二区三区国产精品| 日韩欧美一区中文| 91激情五月电影| 国产成人免费视| 久久99久久99| 亚洲私人黄色宅男| 亚洲国产激情av| 亚洲国产高清aⅴ视频| 精品国产伦一区二区三区观看体验 | 99久久精品费精品国产一区二区| 日本vs亚洲vs韩国一区三区二区| 亚洲国产成人av网| 亚洲一区二区三区影院| 一区二区三区四区国产精品| 国产精品素人视频| 国产精品美女久久久久久2018| 久久久99精品免费观看| 国产日产欧美一区二区三区| 久久色成人在线| 国产视频一区二区三区在线观看| 欧美高清一级片在线| 欧美三级视频在线观看| 欧美一区二区三区四区五区| 精品精品国产高清a毛片牛牛| 久久影院午夜片一区| 一区二区三区在线影院| 蜜桃视频在线观看一区| 久久成人综合网| 成人综合在线视频| 99这里都是精品| 在线观看视频91| 国产欧美精品一区aⅴ影院| 国产亚洲欧美日韩日本| 亚洲欧洲日本在线| 午夜精品久久久久久久久久久 | 日韩av一区二区在线影视| 国产做a爰片久久毛片| 国产高清一区日本| 欧美色精品在线视频| 久久久久久麻豆| 日韩精品欧美精品| 成人av综合在线| 色婷婷av一区| 欧美日韩综合在线免费观看| 欧美精品日韩综合在线| 久久久久久**毛片大全| 天天做天天摸天天爽国产一区| 成人aa视频在线观看| 欧美少妇性性性| 亚洲精品一卡二卡| 成人黄页在线观看| 欧美一级电影网站| 婷婷成人综合网| 欧美日韩一级二级| 亚洲激情图片qvod| 在线国产电影不卡| 亚洲免费视频中文字幕| 日本韩国欧美三级| 亚洲精品中文字幕在线观看| 99国产精品久| 亚洲一区二区黄色| 欧美军同video69gay| 日本中文在线一区| 亚洲精品在线三区| 国产毛片精品国产一区二区三区| 久久久久久夜精品精品免费| 国产激情一区二区三区| 国产精品久久国产精麻豆99网站| www.99精品| 视频一区欧美日韩| 国产午夜精品久久久久久久| 成人伦理片在线| 一区二区三区美女| 91精品国产综合久久国产大片| 久久精品99久久久| 国产色爱av资源综合区| 91行情网站电视在线观看高清版| 日日夜夜精品视频天天综合网| 日韩欧美色电影| 国产99久久久久| 亚洲mv在线观看| 久久人人爽爽爽人久久久| 色av成人天堂桃色av| 激情久久五月天| 一区二区三区在线观看网站| 欧美一区二区精品| 国产成人精品一区二| 日韩国产在线观看| 日韩精品欧美成人高清一区二区| 视频一区免费在线观看| 精品在线免费视频| 成人激情小说网站| 色综合久久88色综合天天6| 91在线观看地址| 欧美视频精品在线| 久久欧美一区二区| 一区二区三区成人| 欧美aaaaaa午夜精品| www.欧美亚洲| 欧美精品视频www在线观看| 国产毛片精品视频| 久久精品国产99久久6| 日韩va欧美va亚洲va久久| 亚洲va欧美va人人爽| 日本伊人午夜精品| 国产综合久久久久影院| 国内外精品视频| 成人福利视频在线| 色综合天天视频在线观看| 91免费视频大全| 在线不卡一区二区| 久久综合av免费| 伊人夜夜躁av伊人久久| 亚洲电影一区二区三区| 天堂成人国产精品一区| 久久精品国产网站| av成人老司机| 日韩美女视频在线| 成人欧美一区二区三区小说 | 欧美性猛交xxxxxx富婆| 欧美成人video| 亚洲天堂av一区| 久久福利视频一区二区| 99久久精品国产网站| 精品久久久久久久久久久久久久久| 久久久久国产精品免费免费搜索|