public override void Map(string inputLine, MapperContext context) { try { var doc = XDocument.Parse(inputLine); var sensors = doc.Descendants("sensor") .Select( element => new { name = (string)element.Attribute("name"), value = element.Value }); foreach (var sensor in sensors) { context.EmitKeyValue(sensor.name, sensor.value); } } catch (Exception x) { context.EmitLine(x.ToString()); } }