Update: A single list of points with negative y-values clipped to 0:
llp = ListLinePlot[{0., 0.2, 0., 0., 0.5, 0., 0., 0.7, 0.},
InterpolationOrder -> 2, PlotRange -> {-.2, 1}];
clippedpoints = Cases[llp, Line[x_] :>
Transpose[{#, Clip[#2, {0, Infinity}]} & @@ Transpose[x]], Infinity]
Show[llp, ListPlot[clippedpoints, PlotStyle -> Directive[Red, PointSize[.01]]],
PlotRange -> All]

True
Original answer:
llp = ListLinePlot[{0., 0.2, 0., 0., 0.5, 0., 0., 0.7, 0.},
InterpolationOrder -> 2, PlotStyle -> Thick, PlotRange -> {0, All}];
points = Cases[llp, Line[x__] :> x, Infinity];
points // Short[#, 4] &
{{{1.,0.},{1.0234,0.00634228},{1.04853,0.0131544},{1.07539,0.0204362},{1.10399,0.0281879},<<45>>,{2.92412,0.0156563},{2.96203,0.00766473},{3.,3.46945*10^-18},{3.,0.}},{{<<18>>,0.},<<52>>},{<<1>>}}
Show[llp, ListPlot[points, PlotStyle -> Directive[Red, PointSize[.01]]],
PlotRange -> All]
