--- plugins/FeedsTermProcessor.inc	2011-05-10 11:40:05.000000000 -0400
+++ plugins/FeedsTermProcessor.inc	2011-05-10 11:42:04.000000000 -0400
@@ -107,6 +107,49 @@
   }
 
   /**
+   * Override setTargetElement to operate on a target item that is a term.
+   */
+  public function setTargetElement(FeedsSource $source, $target_node, $target_element, $value) {
+    switch ($target_element) {
+      case 'parent':      
+        if (!empty($value[0])) {
+          $terms = taxonomy_get_term_by_name($value[0]);
+          $parent_tid = '';
+          foreach ($terms as $term) {
+            if ($term->vid == $target_node->vid) {
+              $parent_tid = $term->tid;
+            }
+          }
+          
+          if (!empty($parent_tid)) {
+            $target_node->parent = $parent_tid;
+          }
+          else {
+            $target_node->parent = 0;
+          }
+        }
+        else {
+          $target_node->parent = 0;
+        }        
+
+        break;
+      case 'weight':
+        if (!empty($value)) {
+          $weight = intval($value);
+        }
+        else {
+          $weight = 0;
+        }
+        $target_node->weight = $weight;
+
+        break;        
+      default:
+        parent::setTargetElement($source, $target_node, $target_element, $value);
+        break;
+    }
+  }
+
+  /**
    * Return available mapping targets.
    */
   public function getMappingTargets() {
@@ -121,6 +164,16 @@
         'name' => t('Term description'),
         'description' => t('Description of the taxonomy term.'),
        ),
+      'parent' => array(
+        'name' => t('Parent Term Name'),
+        'description' => t('Name of the Parent Term.'),
+        'optional_unique' => TRUE,
+       ), 
+      'weight' => array(
+        'name' => t('Term Weight'),
+        'description' => t('Weight of the Term.'),
+        'optional_unique' => TRUE,
+       ),              
     );
     // Let implementers of hook_feeds_term_processor_targets() add their targets.
     try {
