Xml
The Xml class is a comprehensive utility for managing Xml data in a flexible and efficient manner. It provides an object-oriented interface for working with Xml documents and supports a wide range of features for creating, manipulating, and querying Xml data.
#include <format/TellusimXml.h>
Constructors
Xml()
explicit Xml(const char *name, const char *attributes = nullptr)
explicit Xml(const String &name, const char *attributes = nullptr)
Xml(Xml *parent, const char *name, const char *attributes = nullptr)
Xml(Xml *parent, const String &name, const char *attributes = nullptr)
Methods
Clear xml.
void clear()
Create xml.
bool create(const char *str, size_t size = 0, bool owner = false)
bool create(const String &str, size_t size = 0, bool owner = false)
Load xml.
bool load(const char *name)
bool load(const String &name)
bool load(Stream &stream)
Save xml.
bool save(const char *name, bool compact = false) const
bool save(const String &name, bool compact = false) const
bool save(Stream &stream, bool compact = false) const
Xml root.
const Xml getRoot() const
Xml getRoot()
Xml parent.
uint32_t setParent(Xml &parent, bool check = true)
const Xml getParent() const
Xml getParent()
Xml children.
Xml addChild(const char *name, bool check = true)
uint32_t addChild(Xml &child, bool check = true)
bool removeChild(Xml &child)
void releaseChildren()
uint32_t findChild(const char *name) const
bool isChild(const char *name) const
const Xml getChild(const char *name) const
Xml getChild(const char *name)
uint32_t getNumChildren() const
const Array<Xml> getChildren() const
Array<Xml> getChildren()
const Xml getChild(uint32_t index) const
Xml getChild(uint32_t index)
Xml path name.
String getPathName() const
Xml name.
void setName(const char *name)
void setName(const String &name)
String getName() const
Xml data.
void setData(bool value)
void setData(const char *value)
void setData(const String &value)
void setData(int32_t value, uint32_t radix = 10)
void setData(uint32_t value, uint32_t radix = 10)
void setData(uint64_t value, uint32_t radix = 10)
void setData(float32_t value, uint32_t digits = 6, bool compact = true, bool exponent = true)
void setData(float64_t value, uint32_t digits = 12, bool compact = true, bool exponent = true)
template<> Xml setData(const char *name, Type value)
String getData() const
bool getDataBool() const
int32_t getDatai32(uint32_t radix = 10) const
uint32_t getDatau32(uint32_t radix = 10) const
uint64_t getDatau64(uint32_t radix = 10) const
float32_t getDataf32() const
float64_t getDataf64() const
String getData(const char *name, const String &value = String::null) const
bool getData(const char *name, bool value) const
int32_t getData(const char *name, int32_t value, uint32_t radix = 10) const
uint32_t getData(const char *name, uint32_t value, uint32_t radix = 10) const
uint64_t getData(const char *name, uint64_t value, uint32_t radix = 10) const
float32_t getData(const char *name, float32_t value) const
float64_t getData(const char *name, float64_t value) const
Type | Name | Description |
---|---|---|
uint32_t | radix | The decimal number radix (use 16 for hexadecimal numbers). |
uint32_t | digits | The number of digits in the floating-point representation. |
bool | compact | Remove redundant zeros at the end of the number. |
bool | exponent | Use exponent representation. |
Xml array data.
void setData(const char **values, uint32_t size, uint32_t wrap = Maxu32)
void setData(const String *values, uint32_t size, uint32_t wrap = Maxu32)
void setData(const int32_t *values, uint32_t size, uint32_t radix = 10, uint32_t wrap = Maxu32)
void setData(const uint32_t *values, uint32_t size, uint32_t radix = 10, uint32_t wrap = Maxu32)
void setData(const float32_t *values, uint32_t size, uint32_t digits = 6, bool compact = true, bool exponent = true, uint32_t wrap = Maxu32)
void setData(const float64_t *values, uint32_t size, uint32_t digits = 12, bool compact = true, bool exponent = true, uint32_t wrap = Maxu32)
template<> Xml setData(const char *name, Type *values, uint32_t size)
template<> void setData(const Array<Type> &values)
template<> void setData(const char *name, const Array<Type> &values)
uint32_t getData(String *values, uint32_t size) const
uint32_t getData(int32_t *values, uint32_t size, uint32_t radix = 10) const
uint32_t getData(uint32_t *values, uint32_t size, uint32_t radix = 10) const
uint32_t getData(float32_t *values, uint32_t size) const
uint32_t getData(float64_t *values, uint32_t size) const
template<> uint32_t getData(const char *name, Type *values, uint32_t size) const
template<> uint32_t getData(Array<Type> &values) const
template<> uint32_t getData(const char *name, Array<Type> &values) const
Type | Name | Description |
---|---|---|
uint32_t | wrap | The data string wrap parameter to avoid extra-long lines. |
uint32_t | radix | The decimal number radix (use 16 for hexadecimal numbers). |
uint32_t | digits | The number of digits in the floating-point representation. |
bool | compact | Remove redundant zeros at the end of the number. |
bool | exponent | Use exponent representation. |
Xml attributes.
uint32_t addAttribute(const char *name)
bool removeAttribute(const char *name)
uint32_t findAttribute(const char *name) const
bool isAttribute(const char *name) const
void removeAttributes()
uint32_t getNumAttributes() const
String getAttributeName(uint32_t index) const
bool setAttributes(const char *str)
void setAttribute(uint32_t index, bool value)
void setAttribute(uint32_t index, const char *value)
void setAttribute(uint32_t index, const String &value)
void setAttribute(uint32_t index, int32_t value, uint32_t radix = 10)
void setAttribute(uint32_t index, uint32_t value, uint32_t radix = 10)
void setAttribute(uint32_t index, uint64_t value, uint32_t radix = 10)
void setAttribute(uint32_t index, float32_t value, uint32_t digits = 6, bool compact = true, bool exponent = true)
void setAttribute(uint32_t index, float64_t value, uint32_t digits = 12, bool compact = true, bool exponent = true)
template<> uint32_t setAttribute(const char *name, Type value)
String getAttribute(uint32_t index) const
int32_t getAttributei32(uint32_t index, uint32_t radix = 10) const
uint32_t getAttributeu32(uint32_t index, uint32_t radix = 10) const
uint64_t getAttributeu64(uint32_t index, uint32_t radix = 10) const
float32_t getAttributef32(uint32_t index) const
float64_t getAttributef64(uint32_t index) const
String getAttribute(const char *name, const String &value = String::null) const
bool getAttribute(const char *name, bool value) const
int32_t getAttribute(const char *name, int32_t value, uint32_t radix = 10) const
uint32_t getAttribute(const char *name, uint32_t value, uint32_t radix = 10) const
uint64_t getAttribute(const char *name, uint64_t value, uint32_t radix = 10) const
float32_t getAttribute(const char *name, float32_t value) const
float64_t getAttribute(const char *name, float64_t value) const
Xml array attributes.
void setAttribute(uint32_t index, const char **values, uint32_t size, const char *delimiter = nullptr)
void setAttribute(uint32_t index, const String *values, uint32_t size, const char *delimiter = nullptr)
void setAttribute(uint32_t index, const int32_t *values, uint32_t size, uint32_t radix = 10)
void setAttribute(uint32_t index, const uint32_t *values, uint32_t size, uint32_t radix = 10)
void setAttribute(uint32_t index, const float32_t *values, uint32_t size, uint32_t digits = 6, bool compact = true, bool exponent = true)
void setAttribute(uint32_t index, const float64_t *values, uint32_t size, uint32_t digits = 12, bool compact = true, bool exponent = true)
template<> uint32_t setAttribute(const char *name, Type *values, uint32_t size)
template<> void setAttribute(uint32_t index, const Array<Type> &values)
template<> void setAttribute(const char *name, const Array<Type> &values)
uint32_t getAttribute(uint32_t index, String *values, uint32_t size, const char *delimiter = nullptr) const
uint32_t getAttribute(uint32_t index, int32_t *values, uint32_t size, uint32_t radix = 10) const
uint32_t getAttribute(uint32_t index, uint32_t *values, uint32_t size, uint32_t radix = 10) const
uint32_t getAttribute(uint32_t index, float32_t *values, uint32_t size) const
uint32_t getAttribute(uint32_t index, float64_t *values, uint32_t size) const
template<> uint32_t getAttribute(const char *name, Type *values, uint32_t size) const
template<> uint32_t getAttribute(uint32_t index, Array<Type> &values) const
template<> uint32_t getAttribute(const char *name, Array<Type> &values) const