Your GraphML is perfectly legal, and NodeXL happily reads it. The problem is that the edges that are specified in the GraphML connect vertices that are not contained in the GraphML. NodeXL skips such edges.
Look at this edge, for example:
<edge id="e1" source="121926" target="4742622" />
That line says that the edge connects the vertex that has the id "121926" to the vertex that has the id "4742622." If you look through the GraphML, however, you'll see that there are no such vertices. Thus, NodeXL skips the
The following would be a valid edge that NodeXL would read, because it connects two vertices that
are contained in the GraphML:
<edge id="e1" source="643" target="1395" />
You didn't say where the GraphML came from. Was it generated by a program you wrote yourself? If so, here is a good primer on what GraphML is supposed to look like: