diff --git a/FeedsXPathParserXML.inc b/FeedsXPathParserXML.inc
index 85eece8..9b8e850 100644
--- a/FeedsXPathParserXML.inc
+++ b/FeedsXPathParserXML.inc
@@ -26,7 +26,15 @@ class FeedsXPathParserXML extends FeedsXPathParserBase {
     }
     $doc = new DOMDocument();
     $use = $this->errorStart();
-    $success = $doc->loadXML($raw);
+    // Check if filesize is larger than 10MB and PHP version is higher than 5.2.
+    // If these criteria are met the constant LIBXML_PARSEHUGE needs to be
+    // passed.
+    if (drupal_strlen($raw) >= 1048576 && version_compare(phpversion(), '5.2', '>')) {
+      $success = $doc->loadXML($raw, LIBXML_PARSEHUGE);
+    }
+    else {
+      $success = $doc->loadXML($raw);
+    }
     unset($raw);
     $this->errorStop($use, $source_config['exp']['errors']);
     if (!$success) {
