+XMLNode&
+XMLNode::operator= (const XMLNode& from)
+{
+ if (&from != this) {
+
+ XMLPropertyList props;
+ XMLPropertyIterator curprop;
+ XMLNodeList nodes;
+ XMLNodeIterator curnode;
+
+ clear_lists ();
+
+ _name = from.name();
+ set_content(from.content());
+
+ props = from.properties();
+ for (curprop = props.begin(); curprop != props.end(); ++curprop) {
+ add_property((*curprop)->name().c_str(), (*curprop)->value());
+ }
+
+ nodes = from.children();
+ for (curnode = nodes.begin(); curnode != nodes.end(); ++curnode) {
+ add_child_copy(**curnode);
+ }
+ }
+
+ return *this;
+}
+
+const string&
+XMLNode::set_content(const string& c)