Thank you all for your replies, but I have found, for me, most accurate solution:
git diff --name-only -- '*.xml' | sed 's, ,\\&,g' | xargs git checkout --
sed is user to escape spaces which troubled xargs and everything is working very fast and accurate.