/* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #pragma once #include #include #include #include "Swiften/Base/String.h" #include "Swiften/Serializer/XML/XMLNode.h" namespace Swift { class XMLElement : public XMLNode { public: typedef boost::shared_ptr ref; XMLElement(const String& tag, const String& xmlns = "", const String& text = ""); void setAttribute(const String& attribute, const String& value); void addNode(boost::shared_ptr node); virtual String serialize(); private: String tag_; std::map attributes_; std::vector< boost::shared_ptr > childNodes_; }; }