I'm trying to write an XML parser, parsing the XML file to a boost::property_tree
and came upon this problem. How can I check (quickly) if a child of a certain property exists?
Obviously I could iterate over all children using BOOST_FOREACH
- however, isn't there a better solution to this?
optional< const ptree& > child = node.get_child_optional( "possibly_missing_node" ); if( !child ) { // child node is missing }
Here's a couple of other alternatives:
if( node.count("possibliy_missing") == 0 ) { ... } ptree::const_assoc_iterator it = ptree.find("possibly_missing"); if( it == ptree.not_found() ) { ... }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With