Does this work for you? hexNodeData /. XMLElement[a_, {}, {s_String}] :> XMLElement[a, {}, ImportString[s, "List"]] I am using `ImportString[s, "List"]` to convert numbers in the `5.0000e+000` form.