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("");
|
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
|
PUGI__FN xml_node xml_node::child(const char_t* name_) const
|
||||||
{
|
{
|
||||||
if (!_root) return xml_node();
|
if (!_root) return xml_node();
|
||||||
|
|||||||
@ -510,6 +510,9 @@ namespace pugi
|
|||||||
// Get text object for the current node
|
// Get text object for the current node
|
||||||
xml_text text() const;
|
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
|
// Get child, attribute or next/previous sibling with the specified name
|
||||||
xml_node child(const char_t* name) const;
|
xml_node child(const char_t* name) const;
|
||||||
xml_attribute attribute(const char_t* name) const;
|
xml_attribute attribute(const char_t* name) const;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user