how do you mock an xml for unit testing?

You can just create the element you want to test with, w/o reading a file at all:

var doc = new XmlDocument();
var myTestElement = doc.DocumentElement;
myTestElement.Attributes["employeeNo"] = "fakeId";

var response = myTestResponder.GetData(myTestElement);

//assert whatever you need to

NOTE: every time you find out that the test is too hard to write, usually this means that your class/method does too much.

I would assume, that your method verifies the input, than does something with the data provided. I would suggest that you abstract the data reading part (using some xml deserializer) to populate the data model you need for your application.

Then run validation on the result of the deserialized data. Something like:

public MessageResponse GetData(XmlElement requestElement)
   var data = _xmlDeserializer.Deserialize(requestElement);
   var validationResult = _validator.Validate(data);
    if (validationResult.Errors.Count > 0)
         //populate errors
        return result;


Take a look at FluentValidation for a nice validation library.

If you go the above route, then your tests will be much simpler.