I assume that your railway lines are not already divided up into the 5m segments. If they were, you could just create centroids (Feature to Point with Advanced or adding two fields and using Calculate Geometry to get the coordinates, then converting that xy to a point) from your lines and that would give you the points you seek.
You could theoretically find the midpoint with straight mathematical calculation on the coordinates you have - see How to find a point half way between two other points? Once you had that midpoint's coordinates, you could convert them to points as discussed at many other questions here (for example the one Farid links to).
You could also convert the start/end coordinates you currently have to points and then (if you have an Advanced license) use the Split Line at Point tool. Once your rail lines are split into 5m segments, you could create centroids as previously mentioned.
A potentially far simpler solution is to extract only your start or end coordinates as user30184 suggests, convert those coordinates to points, and then use a Spatial Join to join the line attributes to those points. Depends on if you truly need the middle of your segments (ie if it's possible that an attribute change might occur somewhere along the line and where, in which case does 2.5m really matter).