function (file) {
			var contents = fs.readFileSync(file, 'utf-8');

			if (contents) {
				// Windows is the BOM. Skip the Byte Order Mark.
				contents = contents.substring(contents.indexOf('<'));
			}

			var doc = new et.ElementTree(et.XML(contents));		// eslint-disable-line babel/new-cap
			var root = doc.getroot();

			if (root.tag !== 'widget') {
				// Throw an error if widget is not the root tag
				throw new Error(file + ' has incorrect root node name (expected "widget", was "' + root.tag + '")');
			}

			return doc;
		}
function (file) {
			var contents = fs.readFileSync(file, 'utf-8');

			if (contents) {
				
				contents = contents.substring(contents.indexOf('<'));
			}

			var doc = new et.ElementTree(et.XML(contents));		
			var root = doc.getroot();

			if (root.tag !== 'widget') {
				
				throw new Error(file + ' has incorrect root node name (expected "widget", was "' + root.tag + '")');
			}

			return doc;
		}
function ( file ) { var contents = fs . readFileSync ( file , 'utf-8' ) ; if ( contents ) { // Windows is the BOM. Skip the Byte Order Mark. contents = contents . substring ( contents . indexOf ( '<' ) ) ; } var doc = new et . ElementTree ( et . XML ( contents ) ) ; // eslint-disable-line babel/new-cap var root = doc . getroot ( ) ; if ( root . tag !== 'widget' ) { // Throw an error if widget is not the root tag throw new Error ( file + ' has incorrect root node name (expected "widget", was "' + root . tag + '")' ) ; } return doc ; }
This method parses the xml file provided.

@param  {string}	file		The XML file that should be parsed.
@return {ElementTree}		The XML document.
This method parses the xml file provided .