I'm glad you found a solution, but just for completeness:
The exported camera XML files only provide part of the information you need to determine camera positions. The contents of the <transform> tag is a 4X4 transformation matrix, copied below in a more readable form. Hopefully without to many transcription errors.
0.999 | -0.007 | -0.023 | -0.037 |
0.007 | -0.999 | -0.004 | -0.057 |
-0.023 | -0.004 | 0.999 | -.0212 |
0.000 | -0.000 | -0.000 | 1.000 |
The first 3 rows of the last column should give you the coordinates of the camera, however, those values don't look like any UTM coordinates I've ever seen. That is because there is an additional transformation applied at the chunk level and you also need to know that. The camera XML files should probably have an additional <chunk_transform> tag or the option of baking the complete transform in to the file.
You can get the coordinates for the first camera in the first chunk with the following Python snippet. Of course, for a real application you would probably want to loop through all the chunks and cameras saving the x, y, z values to a file.
chunk = PhotoScan.app.document.chunks[0]
cam = chunk.cameras[0]
# Note that transform defaults to a NoneType object rather than an identity
# matrix so the following line will throw an exception if both objects haven't
# been transformed.
pose = chunk.transform * cam.transform
x = pose.row(0)[3]
y = pose.row(1)[3]
z = pose.row(2)[3]