diff --git a/lib/modules/Parser.pmod/XML.pmod/Tree.pmod b/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
index 8d7ebafaf6c7028d6ded216c4da71c7bed4bb67b..d6da524717b5830f2991be8fdab32c4cf3ae1b61 100644
--- a/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
+++ b/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
@@ -881,6 +881,12 @@ protected class VirtualNode {
   //! Returns text content in node.
   string get_text()          { return (mText); }
 
+  //! Change the text content descructively.
+  string set_text(string txt) {
+    if( mNodeType & XML_TEXT )
+      mText = txt;
+  }
+
   //!
   int get_doc_order()        { return (mDocOrder); }