Index: xml_parser.module
===================================================================
--- xml_parser.module	(revision 809)
+++ xml_parser.module	(working copy)
@@ -157,6 +157,11 @@
     if (count($result) == 0) {
       return trim($stack['data']);
     }
+    // Check we're not about to throw away the element data of a parent.
+    elseif (trim($stack['data'])) {
+      $result['data'] = $stack['data'];
+      return $result;
+    }
     else {
       return $result;
     }

