#include <WString.h>#include <Print.h>#include <debug_progmem.h>#include "../../rapidxml/rapidxml.hpp"Go to the source code of this file.
Namespaces | |
| XML | |
Macros | |
| #define | RAPIDXML_NO_EXCEPTIONS |
| #define | RAPIDXML_NO_STREAMS |
Typedefs | |
| using | XML::Document = rapidxml::xml_document< char > |
| using | XML::Node = rapidxml::xml_node< char > |
| using | XML::NodeType = rapidxml::node_type |
| using | XML::Attribute = rapidxml::xml_attribute< char > |
Functions | |||||||||
| DECLARE_FSTR (FS_xmlns_xml) | |||||||||
| DECLARE_FSTR (FS_xmlns_xmlns) | |||||||||
| Node * | XML::insertDeclaration (Document &doc) | ||||||||
| Add a declaration to the document if there isn't one already. More... | |||||||||
| bool | XML::deserialize (Document &doc, char *content) | ||||||||
| De-serialise XML text into a document. More... | |||||||||
| static bool | XML::deserialize (Document &doc, String &content) | ||||||||
| bool | XML::deserialize (Document &doc, const FlashString &content) | ||||||||
| size_t | XML::serialize (const Node &node, String &buffer, bool pretty=false) | ||||||||
| Serialize XML text and append to string buffer. More... | |||||||||
| String | XML::serialize (const Node &node, bool pretty=false) | ||||||||
| size_t | XML::serialize (const Node &node, Print &out, bool pretty=false) | ||||||||
| static size_t | XML::serialize (const Node &node, Print *out, bool pretty=false) | ||||||||
| Node * | XML::appendNode (Node *parent, const char *name, const char *value=nullptr, size_t name_size=0, size_t value_size=0) | ||||||||
| Append a child element with optional value. More... | |||||||||
| static Node * | XML::appendNode (Node *parent, const String &name, const String &value=nullptr) | ||||||||
| Node * | XML::appendNode (Node *parent, const String &name, const FlashString &value) | ||||||||
| template<typename TString , typename TValue > | |||||||||
| Node * | XML::appendNode (Node *parent, const TString &name, const TValue &value) | ||||||||
| Attribute * | XML::appendAttribute (Node *node, const char *name, const char *value, size_t name_size=0, size_t value_size=0) | ||||||||
| Append an attribute. More... | |||||||||
| static Attribute * | XML::appendAttribute (Node *node, const String &name, const String &value) | ||||||||
| template<typename TString , typename TValue > | |||||||||
| Attribute * | XML::appendAttribute (Node *node, const TString &name, const TValue &value) | ||||||||
Gets child node by relative path | |||||||||
Leading/trailing separators are not permitted. | |||||||||
| Node * | XML::getNode (Node *node, const char *path, const char *ns, size_t ns_len=0) | ||||||||
| Node * | XML::getNode (Node *node, const String &path, const String &ns=nullptr) | ||||||||
Gets node from a document by path | |||||||||
Leading separator is important: if present, search starts at root node. If omitted, first element must match the root node name. Trailing separator is not allowed. Example 1: /s:Body/u:GetContentResponse Will search for s:Body node that is a child of the root node. The node u:GetContentResponse should be child of the s:Body node Example 2: s:Envelope/s:Body/u:GetContentResponse Will search for s:Body node that is a child of the root node named s:Envelope. The node u:GetContentResponse should be child of the s:Body node | |||||||||
| Node * | XML::getNode (const Document &doc, const char *path, const char *ns=nullptr, size_t ns_len=0) | ||||||||
| Node * | XML::getNode (const Document &doc, const String &path, const String &ns=nullptr) | ||||||||
Get node value | |||||||||
| |||||||||
| String | XML::getValue (const Node *node, const char *name, size_t name_size, const char *ns=nullptr, size_t ns_size=0) | ||||||||
| String | XML::getValue (const Node *node, const char *name, const char *ns=nullptr) | ||||||||
| String | XML::getValue (const Node *node, const String &name, const String &ns=nullptr) | ||||||||
Get attribute value | |||||||||
| |||||||||
| String | XML::getAttribute (const Node *node, const char *name, size_t name_size) | ||||||||
| String | XML::getAttribute (const Node *node, const char *name) | ||||||||
| String | XML::getAttribute (const Node *node, const String &name) | ||||||||
| bool | XML::deserialize (Document &doc, char *content) | ||||||||
| De-serialise XML text into a document. More... | |||||||||
| static bool | XML::deserialize (Document &doc, String &content) | ||||||||
| bool | XML::deserialize (Document &doc, const FlashString &content) | ||||||||
| size_t | XML::serialize (const Node &node, String &buffer, bool pretty=false) | ||||||||
| Serialize XML text and append to string buffer. More... | |||||||||
| String | XML::serialize (const Node &node, bool pretty=false) | ||||||||
| size_t | XML::serialize (const Node &node, Print &out, bool pretty=false) | ||||||||
| static size_t | XML::serialize (const Node &node, Print *out, bool pretty=false) | ||||||||
| Node * | XML::appendNode (Node *parent, const char *name, const char *value=nullptr, size_t name_size=0, size_t value_size=0) | ||||||||
| Append a child element with optional value. More... | |||||||||
| static Node * | XML::appendNode (Node *parent, const String &name, const String &value=nullptr) | ||||||||
| Node * | XML::appendNode (Node *parent, const String &name, const FlashString &value) | ||||||||
| template<typename TString , typename TValue > | |||||||||
| Node * | XML::appendNode (Node *parent, const TString &name, const TValue &value) | ||||||||
| Attribute * | XML::appendAttribute (Node *node, const char *name, const char *value, size_t name_size=0, size_t value_size=0) | ||||||||
| Append an attribute. More... | |||||||||
| static Attribute * | XML::appendAttribute (Node *node, const String &name, const String &value) | ||||||||
| template<typename TString , typename TValue > | |||||||||
| Attribute * | XML::appendAttribute (Node *node, const TString &name, const TValue &value) | ||||||||
Gets child node by relative path | |||||||||
Leading/trailing separators are not permitted. | |||||||||
| Node * | XML::getNode (Node *node, const char *path, const char *ns, size_t ns_len=0) | ||||||||
| Node * | XML::getNode (Node *node, const String &path, const String &ns=nullptr) | ||||||||
Gets node from a document by path | |||||||||
Leading separator is important: if present, search starts at root node. If omitted, first element must match the root node name. Trailing separator is not allowed. Example 1: /s:Body/u:GetContentResponse Will search for s:Body node that is a child of the root node. The node u:GetContentResponse should be child of the s:Body node Example 2: s:Envelope/s:Body/u:GetContentResponse Will search for s:Body node that is a child of the root node named s:Envelope. The node u:GetContentResponse should be child of the s:Body node | |||||||||
| Node * | XML::getNode (const Document &doc, const char *path, const char *ns=nullptr, size_t ns_len=0) | ||||||||
| Node * | XML::getNode (const Document &doc, const String &path, const String &ns=nullptr) | ||||||||
Get node value | |||||||||
| |||||||||
| String | XML::getValue (const Node *node, const char *name, size_t name_size, const char *ns=nullptr, size_t ns_size=0) | ||||||||
| String | XML::getValue (const Node *node, const char *name, const char *ns=nullptr) | ||||||||
| String | XML::getValue (const Node *node, const String &name, const String &ns=nullptr) | ||||||||
Get attribute value | |||||||||
| |||||||||
| String | XML::getAttribute (const Node *node, const char *name, size_t name_size) | ||||||||
| String | XML::getAttribute (const Node *node, const char *name) | ||||||||
| String | XML::getAttribute (const Node *node, const String &name) | ||||||||
Macro Definition Documentation
◆ RAPIDXML_NO_EXCEPTIONS
| #define RAPIDXML_NO_EXCEPTIONS |
◆ RAPIDXML_NO_STREAMS
| #define RAPIDXML_NO_STREAMS |
Function Documentation
◆ DECLARE_FSTR() [1/2]
| DECLARE_FSTR | ( | FS_xmlns_xml | ) |
◆ DECLARE_FSTR() [2/2]
| DECLARE_FSTR | ( | FS_xmlns_xmlns | ) |
1.8.17