XML dump of MySQL database don't include foreign key constraints. What can be the reason? sqldump(.sql) file list it
This is a bug in mysqldump that Oracle has characterized as a "feature request."

http://bugs.mysql.com/bug.php?id=66821

In normal mode (not XML), mysqldump just uses the server's output from SHOW CREATE TABLE tablename.

if (!opt_xml ...
    ...
    my_snprintf(buff, sizeof(buff), "show create table %s", result_table);


When running in --xml mode, mysqldump uses the output from SHOW KEYS FROM 'tablename', which doesn't include the foreign key constraints.  

my_snprintf(buff, sizeof(buff), "show keys from %s", result_table);


Since the two different operating modes of mysqldump fetch the data from the server in such different ways, so the addition of this information to an XML dump is not exactly a trivial change.

There is not a simple workaround, although as noted in the bug report, the information is available in information_schema and you can access this from mysqldump if you supply the --skip-lock-tables option (locking information_schema isn't allowed).  You'll have to take the data you retrieve, parse and extract the relevant bits, and reformat it as needed before it would be all that useful.