Add operator[] for xml_node, ensure child, more convinently for config updating
This commit is contained in:
parent
9fcae40bb5
commit
8fbb70f3e5
@ -5482,6 +5482,14 @@ namespace pugi
|
||||
return (_root && _root->value) ? _root->value + 0 : PUGIXML_TEXT("");
|
||||
}
|
||||
|
||||
PUGI__FN xml_node xml_node::operator[](const char_t* name)
|
||||
{
|
||||
if (!_root) return xml_node();
|
||||
auto node = this->child(name);
|
||||
if (node) return node;
|
||||
return this->append_child(name);
|
||||
}
|
||||
|
||||
PUGI__FN xml_node xml_node::child(const char_t* name_) const
|
||||
{
|
||||
if (!_root) return xml_node();
|
||||
|
||||
@ -510,6 +510,9 @@ namespace pugi
|
||||
// Get text object for the current node
|
||||
xml_text text() const;
|
||||
|
||||
// Ensure child, more convinently for config updating
|
||||
xml_node operator[](const char_t* name);
|
||||
|
||||
// Get child, attribute or next/previous sibling with the specified name
|
||||
xml_node child(const char_t* name) const;
|
||||
xml_attribute attribute(const char_t* name) const;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user