void XMLConfiguration::removeRaw(const std::string& key) { Poco::XML::Node* pNode = findNode(key); if (pNode) { if (pNode->nodeType() == Poco::XML::Node::ELEMENT_NODE) { Poco::XML::Node* pParent = pNode->parentNode(); if (pParent) { pParent->removeChild(pNode); } } else if (pNode->nodeType() == Poco::XML::Node::ATTRIBUTE_NODE) { Poco::XML::Attr* pAttr = dynamic_cast<Poco::XML::Attr*>(pNode); Poco::XML::Element* pOwner = pAttr->ownerElement(); if (pOwner) { pOwner->removeAttributeNode(pAttr); } } } }
void ofXml::remove(){ Poco::XML::Node * parent = element->parentNode(); if(parent){ parent->removeChild(element); element->release(); element = (Poco::XML::Element*)parent; }else{ clear(); } }