diff --git a/handlers/views_xml_backend_handler_field.inc b/handlers/views_xml_backend_handler_field.inc
index 3ae0163..7eb8220 100644
--- a/handlers/views_xml_backend_handler_field.inc
+++ b/handlers/views_xml_backend_handler_field.inc
@@ -5,8 +5,9 @@
  */
 
 class views_xml_backend_handler_field extends views_handler_field {
+
   function render($values) {
-    $values = $values[$this->field_alias];
+    $values = $values->{$this->field_alias};
     if ($this->options['multiple']) {
       foreach ($values as $i => $value) {
         $values[$i] = check_plain($value);
diff --git a/views_xml_backend_plugin_query_xml.inc b/views_xml_backend_plugin_query_xml.inc
index 0a1a1be..1eba86b 100644
--- a/views_xml_backend_plugin_query_xml.inc
+++ b/views_xml_backend_plugin_query_xml.inc
@@ -167,7 +167,7 @@ class views_xml_backend_plugin_query_xml extends views_plugin_query {
       $rows = $xpath->query($view->build_info['query']);
       $result = array();
       foreach ($rows as $row) {
-        $item = array();
+        $item = new stdClass;
         foreach ($this->fields as $field) {
           $node_list = $xpath->evaluate($field['field'], $row);
           if ($node_list) {
@@ -177,16 +177,17 @@ class views_xml_backend_plugin_query_xml extends views_plugin_query {
               foreach ($node_list as $node) {
                 $values[] = $node->nodeValue;
               }
-              $item[$field['field']] = $values;
+              $item->{$field['field']} = $values;
             }
             // Single value, just pull the first.
             else {
-              $item[$field['field']] = $node_list->item(0)->nodeValue;
+              $item->{$field['field']} = $node_list->item(0)->nodeValue;
             }
           }
         }
         $result[] = $item;
       }
+
       if (!empty($this->orderby)) {
         // Array reverse, because the most specific are first - PHP works the
         // opposite way of SQL.
@@ -195,6 +196,7 @@ class views_xml_backend_plugin_query_xml extends views_plugin_query {
           uasort($result, '_views_xml_backend_sort');
         }
       }
+
       $view->result = $result;
       $view->total_rows = count($result);
 
@@ -289,8 +291,8 @@ function _views_xml_backend_sort_field($field = NULL, $direction = NULL) {
 function _views_xml_backend_sort($a, $b) {
   $sort = _views_xml_backend_sort_field();
   $field = $sort['field'];
-  $a_weight = isset($a[$field]) ? $a[$field] : 0;
-  $b_weight = isset($b[$field]) ? $b[$field] : 0;
+  $a_weight = isset($a->$field) ? $a->$field : 0;
+  $b_weight = isset($b->$field) ? $b->$field : 0;
   if ($a_weight == $b_weight) {
     return 0;
   }
