diff --git a/FeedsXPathParserXML.inc b/FeedsXPathParserXML.inc
index 85eece8..4da159b 100644
--- a/FeedsXPathParserXML.inc
+++ b/FeedsXPathParserXML.inc
@@ -26,6 +26,11 @@ class FeedsXPathParserXML extends FeedsXPathParserBase {
     }
     $doc = new DOMDocument();
     $use = $this->errorStart();
+
+    // Strip out valid utf-8 characters that aren't valid in xml.
+    $pattern = '/[^\x{0009}\x{000a}\x{000d}\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}]+/u';
+    $raw = preg_replace($pattern, '', $raw);
+
     $success = $doc->loadXML($raw);
     unset($raw);
     $this->errorStop($use, $source_config['exp']['errors']);
