--- FeedsQueryPathParser.inc	2010-09-30 17:36:00.000000000 -0400
+++ FeedsQueryPathParser.inc	2010-09-30 17:35:16.000000000 -0400
@@ -27,6 +27,10 @@ class FeedsQueryPathParser extends Feeds
     }
   }
 
+  /**
+   * @return mixed
+   *   Returns FALSE if no values, the value if only one, or an array of values if more than one.
+   */
   protected function parseSourceElement($item, $query, $source) {
     $attr = $this->source_config['attrs'][$source];
 
@@ -34,10 +38,20 @@ class FeedsQueryPathParser extends Feeds
       $item = qp($item, $query);
     }
 
-    if ($attr != '') {
-      return $item->attr($attr);
+    $values = array();
+    foreach ($item as $i) {
+      if ($attr != '') {
+        $values[] = $i->attr($attr);
+      }
+      elseif (in_array($source, $this->rawXML)) {
+        $values[] = $i->html();
+      }
+      else {
+        $values[] = $i->text();
+      }
     }
 
+    return (count($values) <= 1) ? reset($values) : $values;
   }
 
   /**
