diff --git a/xlsx.js b/xlsx.js
index 23cfb5d..37634c6 100644
--- a/xlsx.js
+++ b/xlsx.js
@@ -104,7 +104,7 @@ function parseSheet(data) { //TODO: use a real xml parser
//s.cells = {};
var q = ["v","f"];
if(!data.match(//))
- data.match(/(.*)<\/sheetData>/)[1].split("").forEach(function(x) {
+ data.match(/([^]*)<\/sheetData>/)[1].split("").forEach(function(x) {
if(x === "") return;
var row = parsexmltag(x.match(/]*>/)[0]); //s.rows[row.r]=row.spans;
if(refguess.s.r > row.r - 1) refguess.s.r = row.r - 1;
@@ -147,7 +147,7 @@ function parseSheet(data) { //TODO: use a real xml parser
}
// matches ... extracts content
-function matchtag(f,g) {return new RegExp('<' + f + '>([\\s\\S]*)' + f + '>',g||"");}
+function matchtag(f,g) {return new RegExp('<'+f+'(?: xml:space="preserve")?>([^]*)'+f+'>',(g||"")+"m");}
function parseVector(data) {
var h = parsexmltag(data);