A Fort Bragg soldier has been charged with attacking his ex-wife over the weekend and then holding her captive for hours, police said Monday.