We do not support many-to-many relations, but just one-to-many and one-to-one. Since your xml data is one-to-many, it therefore can be presented. You have essentially used an elimination. Please refer to this external resource.
The DataSet created by ReadXml method contains3 tables which you can avoid easily by skipping the second table and using the first and the third ones only. Here is sample code for your xml: