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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tinyxml.h

?? 一個(gè)簡(jiǎn)單的xml解析代碼
?? H
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/* *  Copyright(C) 2000 EASTCOM-BUPT Inc. * *  Filename            : $RCSfile: tinyxml.h,v $ *  Last Revision       : $Revision: 1.1.1.1 $ *  Last Revision Date  : $Date: 2006/07/17 08:07:18 $ *  Description         : *//*www.sourceforge.net/projects/tinyxmlOriginal code (2.0 and earlier )copyright (c) 2000-2002 Lee Thomason (www.grinninglizard.com)This software is provided 'as-is', without any express or impliedwarranty. In no event will the authors be held liable for anydamages arising from the use of this software.Permission is granted to anyone to use this software for anypurpose, including commercial applications, and to alter it andredistribute it freely, subject to the following restrictions:1. The origin of this software must not be misrepresented; you mustnot claim that you wrote the original software. If you use thissoftware in a product, an acknowledgment in the product documentationwould be appreciated but is not required.2. Altered source versions must be plainly marked as such, andmust not be misrepresented as being the original software.3. This notice may not be removed or altered from any sourcedistribution.*/#ifndef TINYXML_INCLUDED#define TINYXML_INCLUDED#ifdef _MSC_VER//#pragma warning( disable : 4530 )//#pragma warning( disable : 4786 )#endif#include <ctype.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>//#define TIXML_USE_STL/* redefine assert macro to avoid abnormal exit. by zhoujunfeng */#ifdef assert    #undef assert#endif#define assert(ex) ((ex) ? (void)0 : throw 0)// Help out windows:#if defined( _DEBUG ) && !defined( DEBUG )    #define DEBUG#endif#if defined( DEBUG ) && defined( _MSC_VER )    #include <windows.h>    #define TIXML_LOG OutputDebugString#else    #define TIXML_LOG printf#endif// Uncomment the following definition for Apple's Project Builder // #define TIXML_NEED_STREAM#ifdef TIXML_USE_STL    #include <string>    #ifdef TIXML_NEED_STREAM        #include <istream>        #include <ostream>    #endif    #define TIXML_STRING	std::string    #define TIXML_ISTREAM	std::istream    #define TIXML_OSTREAM	std::ostream#else    #include "tinystr.h"    #define TIXML_STRING	TiXmlString    #define TIXML_OSTREAM	TiXmlOutStream#endifnamespace ebtinyxml{class TiXmlDocument;class TiXmlElement;class TiXmlComment;class TiXmlUnknown;class TiXmlAttribute;class TiXmlText;class TiXmlDeclaration;/** TiXmlBase is a base class for every class in TinyXml.    It does little except to establish that TinyXml classes    can be printed and provide some utility functions.    In XML, the document and elements can contain    other elements and other types of nodes.    @verbatim    A Document can contain:	Element	(container or leaf)                            Comment (leaf)                            Unknown (leaf)                            Declaration( leaf )    An Element can contain:	Element (container or leaf)                            Text	(leaf)                            Attributes (not on tree)                            Comment (leaf)                            Unknown (leaf)    A Decleration contains: Attributes (not on tree)    @endverbatim*/class TiXmlBase {    friend class TiXmlNode;    friend class TiXmlElement;    friend class TiXmlDocument;public:    TiXmlBase() {    }    virtual ~TiXmlBase() {    }    /**	All TinyXml classes can print themselves to a filestream.        This is a formatted print, and will insert tabs and newlines.                (For an unformatted stream, use the << operator.)    */    virtual void Print( FILE* cfile, int depth ) const = 0;    /**	The world does not agree on whether white space should be kept or        not. In order to make everyone happy, these global, static functions        are provided to set whether or not TinyXml will condense all white space        into a single space or not. The default is to condense. Note changing these        values is not thread safe.    */    static void SetCondenseWhiteSpace( bool condense ) {        condenseWhiteSpace = condense;    }    /// Return the current white space setting.    static bool IsWhiteSpaceCondensed() {        return condenseWhiteSpace;    }protected:    // See STL_STRING_BUG    // Utility class to overcome a bug.    class StringToBuffer {    public:        StringToBuffer( const TIXML_STRING& str );        ~StringToBuffer();        char* buffer;    };    static const char*  SkipWhiteSpace( const char* );    inline static bool  IsWhiteSpace( int c ) {        return( isspace( c ) || c == '\n' || c == '\r' );    }    virtual void StreamOut (TIXML_OSTREAM *) const = 0;#ifdef TIXML_USE_STL    static bool StreamWhiteSpace( TIXML_ISTREAM * in, TIXML_STRING * tag );    static bool StreamTo( TIXML_ISTREAM * in, int character, TIXML_STRING * tag );#endif    /*	Reads an XML name into the string provided. Returns        a pointer just past the last character of the name,        or 0 if the function has an error.    */    static const char* ReadName( const char* p, TIXML_STRING* name );    /*	Reads text. Returns a pointer past the given end tag.        Wickedly complex options, but it keeps the (sensitive) code in one place.    */    static const char* ReadText(    const char* in,             // where to start                                    TIXML_STRING* text,         // the string read                                    bool ignoreWhiteSpace,      // whether to keep the white space                                    const char* endTag,         // what ends this text                                    bool ignoreCase );          // whether to ignore case in the end tag    virtual const char* Parse( const char* p ) = 0;    // If an entity has been found, transform it into a character.    static const char* GetEntity( const char* in, char* value );    // Get a character, while interpreting entities.    inline static const char* GetChar( const char* p, char* value ) {        assert( p );        if( *p == '&' ) {            return GetEntity( p, value );        } else {            *value = *p;            return p+1;        }    }    // Puts a string to a stream, expanding entities as it goes.    // Note this should not contian the '<', '>', etc, or they will be transformed into entities!    static void PutString( const TIXML_STRING& str, TIXML_OSTREAM* out );    static void PutString( const TIXML_STRING& str, TIXML_STRING* out );    // Return true if the next characters in the stream are any of the endTag sequences.    bool static StringEqual(    const char* p,                                const char* endTag,                                bool ignoreCase );    enum {        TIXML_NO_ERROR = 0,        TIXML_ERROR,        TIXML_ERROR_OPENING_FILE,        TIXML_ERROR_OUT_OF_MEMORY,        TIXML_ERROR_PARSING_ELEMENT,        TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME,        TIXML_ERROR_READING_ELEMENT_VALUE,        TIXML_ERROR_READING_ATTRIBUTES,        TIXML_ERROR_PARSING_EMPTY,        TIXML_ERROR_READING_END_TAG,        TIXML_ERROR_PARSING_UNKNOWN,        TIXML_ERROR_PARSING_COMMENT,        TIXML_ERROR_PARSING_DECLARATION,        TIXML_ERROR_DOCUMENT_EMPTY,        TIXML_ERROR_STRING_COUNT    };    static const char* errorString[ TIXML_ERROR_STRING_COUNT ];    /* add errorLine to provide more error information. by zhoujunfeng */    static int errorLine;private:    struct Entity {        const char*     str;        unsigned int    strLength;        char            chr;    };    enum {        NUM_ENTITY = 5,        MAX_ENTITY_LENGTH = 6    };    static Entity entity[ NUM_ENTITY ];    static bool condenseWhiteSpace;};/** The parent class for everything in the Document Object Model.    (Except for attributes, which are contained in elements.)    Nodes have siblings, a parent, and children. A node can be    in a document, or stand on its own. The type of a TiXmlNode    can be queried, and it can be cast to its more defined type.*/class TiXmlNode : public TiXmlBase {    friend class TiXmlDocument;    friend class TiXmlElement;public:#ifdef TIXML_USE_STL	    /** An input stream operator, for every class. Tolerant of newlines and        formatting, but doesn't expect them.    */    friend std::istream& operator >> (std::istream& in, TiXmlNode& base);    /** An output stream operator, for every class. Note that this outputs        without any newlines or formatting, as opposed to Print(), which        includes tabs and new lines.        The operator<< and operator>> are not completely symmetric. Writing        a node to a stream is very well defined. You'll get a nice stream        of output, without any extra whitespace or newlines.                But reading is not as well defined. (As it always is.) If you create        a TiXmlElement (for example) and read that from an input stream,        the text needs to define an element or junk will result. This is        true of all input streams, but it's worth keeping in mind.        A TiXmlDocument will read nodes until it reads a root element.    */      friend std::ostream & operator<< (std::ostream& out, const TiXmlNode& base);#else    // Used internally, not part of the public API.    friend TIXML_OSTREAM& operator<< (TIXML_OSTREAM& out, const TiXmlNode& base);#endif    /** The types of XML nodes supported by TinyXml. (All the            unsupported types are picked up by UNKNOWN.)    */    enum NodeType {        DOCUMENT,        ELEMENT,        COMMENT,        UNKNOWN,        TEXT,        DECLARATION,        TYPECOUNT    };    virtual ~TiXmlNode();    /** The meaning of 'value' changes for the specific type of        TiXmlNode.        @verbatim        Document:	filename of the xml file        Element:	name of the element        Comment:	the comment text        Unknown:	the tag contents        Text:		the text string        @endverbatim        The subclasses will wrap this function.    */    const char * Value () const {        return value.c_str ();    }    /** Changes the value of the node. Defined as:        @verbatim        Document:	filename of the xml file        Element:	name of the element        Comment:	the comment text        Unknown:	the tag contents        Text:		the text string        @endverbatim    */    void SetValue (const char * _value) {        value = _value;    }#ifdef TIXML_USE_STL    /// STL std::string form.    void SetValue( const std::string& value )    {        StringToBuffer buf( value );        SetValue( buf.buffer ? buf.buffer : "" );           }   #endif    /// Delete all the children of this node. Does not affect 'this'.    void Clear();    /// One step up the DOM.    TiXmlNode* Parent() const {        return parent;    }    TiXmlNode* FirstChild() const {        return firstChild;    }      ///< The first child of this node. Will be null if there are no children.    TiXmlNode* FirstChild( const char * value ) const;          ///< The first child of this node with the matching 'value'. Will be null if none found.    TiXmlNode* LastChild() const {        return lastChild;    }       /// The last child of this node. Will be null if there are no children.    TiXmlNode* LastChild( const char * value ) const;           /// The last child of this node matching 'value'. Will be null if there are no children.#ifdef TIXML_USE_STL    TiXmlNode* FirstChild( const std::string& value ) const {        return FirstChild (value.c_str ());    }   ///< STL std::string form.    TiXmlNode* LastChild( const std::string& value ) const {        return LastChild (value.c_str ());

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人永久免费视频| 国产成人av电影在线播放| 国产区在线观看成人精品| 色偷偷一区二区三区| 久久99精品一区二区三区三区| 中文一区二区在线观看| 日韩欧美精品在线| 一本高清dvd不卡在线观看| 国产乱子伦一区二区三区国色天香 | 亚洲色图欧美偷拍| 欧美大片免费久久精品三p| 91精品91久久久中77777| 懂色av一区二区夜夜嗨| 精品一区二区国语对白| 日韩二区三区在线观看| 一区二区三区中文在线观看| 亚洲国产精品99久久久久久久久| 日韩欧美高清一区| 在线不卡一区二区| 91久久精品一区二区| 99久久精品国产毛片| 国产精品一区二区久激情瑜伽 | 亚洲大片免费看| 日韩一区在线播放| 国产欧美日韩在线视频| 欧美精品一区二区不卡| 欧美高清视频www夜色资源网| 色狠狠综合天天综合综合| 99久久精品免费看国产| 成人午夜av影视| 国产大陆亚洲精品国产| 国产制服丝袜一区| 激情av综合网| 国产精品一区二区在线观看网站| 美女一区二区视频| 美女视频免费一区| 久草在线在线精品观看| 久久99国产精品麻豆| 毛片av中文字幕一区二区| 六月丁香婷婷久久| 久久99精品久久久久久国产越南 | 国产风韵犹存在线视精品| 国产一区二区三区免费| 国产一区啦啦啦在线观看| 另类小说色综合网站| 奇米四色…亚洲| 免费高清不卡av| 理论片日本一区| 狠狠色丁香久久婷婷综合丁香| 精品无人区卡一卡二卡三乱码免费卡| 日韩福利视频网| 婷婷综合五月天| 久久99九九99精品| 成人性生交大片免费看中文| www.亚洲色图| 在线观看欧美日本| 正在播放亚洲一区| 精品国产免费人成电影在线观看四季| 久久婷婷一区二区三区| 国产精品欧美精品| 一区二区三区日韩精品视频| 视频一区中文字幕| 久久电影国产免费久久电影| 国产精品1区2区3区| 91一区二区在线| 欧美性猛交xxxx乱大交退制版 | 一区二区三区四区国产精品| 亚洲国产cao| 久久99国内精品| 99久久久久久| 欧美狂野另类xxxxoooo| 久久久天堂av| 亚洲日本青草视频在线怡红院| 丝袜诱惑制服诱惑色一区在线观看| 老司机精品视频导航| 91亚洲国产成人精品一区二三| 欧美日韩小视频| 久久精品网站免费观看| 一区二区三区欧美在线观看| 激情欧美一区二区三区在线观看| 91在线看国产| 欧美成人一区二区三区片免费| 国产精品久久久久久久浪潮网站| 成人欧美一区二区三区| 青青国产91久久久久久| 成人18精品视频| 日韩视频一区二区三区在线播放| 欧美国产综合一区二区| 亚洲成人第一页| 成人一级片网址| 日韩一级片在线播放| 亚洲男人的天堂在线aⅴ视频| 蜜臀av性久久久久av蜜臀妖精| www.日本不卡| 日韩精品一区二区三区在线观看 | 亚洲综合色噜噜狠狠| 视频一区视频二区中文字幕| 丁香激情综合国产| 99精品欧美一区二区三区小说 | 欧美国产一区视频在线观看| 婷婷一区二区三区| av不卡在线观看| 精品欧美乱码久久久久久| 亚洲影视资源网| 国产成人在线色| 日韩欧美你懂的| 午夜国产精品一区| 色综合久久久久久久久| 国产亚洲精品资源在线26u| 青青青爽久久午夜综合久久午夜| 91久久精品一区二区二区| 国产精品蜜臀在线观看| 国产在线精品视频| 日韩欧美你懂的| 男人的j进女人的j一区| 欧美日韩精品一区二区三区蜜桃 | 亚洲乱码国产乱码精品精小说 | 9l国产精品久久久久麻豆| 久久久美女毛片| 欧美在线观看视频一区二区| 最新不卡av在线| 成人精品在线视频观看| 国产欧美精品一区二区三区四区| 毛片av中文字幕一区二区| 91精品国产色综合久久不卡电影| 亚洲一区在线视频| 在线视频欧美精品| 亚洲综合在线第一页| 色综合久久88色综合天天免费| 国产精品拍天天在线| 成人精品视频一区| 国产精品久久久久天堂| 成人精品国产福利| 中文字幕一区不卡| 99精品久久只有精品| 亚洲靠逼com| 在线视频国内一区二区| 亚洲高清久久久| 欧美三级视频在线播放| 亚洲国产成人av网| 欧美精品欧美精品系列| 视频一区二区欧美| 欧美一二三区精品| 麻豆成人av在线| 久久亚洲一区二区三区四区| 久久99国产精品尤物| 久久久精品蜜桃| 成人小视频在线| 中文字幕中文字幕一区| 色综合激情久久| 亚洲成在人线在线播放| 免播放器亚洲一区| 精品久久久久久久久久久久久久久| 激情五月激情综合网| 欧美高清在线精品一区| 91麻豆国产自产在线观看| 亚洲国产人成综合网站| 日韩午夜激情免费电影| 国产精品亚洲第一区在线暖暖韩国 | 麻豆成人久久精品二区三区小说| 久久青草国产手机看片福利盒子| 成人精品视频一区二区三区| 亚洲主播在线观看| 日韩精品在线看片z| 成人网在线播放| 亚洲一区二区在线观看视频| 日韩色视频在线观看| 国产91综合网| 亚洲综合一二区| 精品国产免费人成在线观看| 99视频一区二区| 日韩激情av在线| 日本一区二区高清| 欧美性极品少妇| 韩国女主播成人在线| 亚洲视频一区二区免费在线观看| 欧美日韩免费视频| 国产精品系列在线播放| 亚洲最新在线观看| 久久亚洲影视婷婷| 欧美写真视频网站| 国产精品1区2区3区在线观看| 亚洲自拍与偷拍| 久久久国产精品麻豆| 欧美亚洲国产怡红院影院| 国产在线播放一区三区四| 亚洲动漫第一页| 国产拍揄自揄精品视频麻豆| 欧美日韩国产一级| 成人av电影免费在线播放| 午夜不卡av在线| ...xxx性欧美| 久久久天堂av| 欧美一区二区视频在线观看| 91丨国产丨九色丨pron| 国内外精品视频| 视频一区视频二区中文字幕| 亚洲日本在线视频观看| 久久久久国产精品厨房| 91精品久久久久久蜜臀|