The victim is believed to be a nine-year-old girl who went missing from the Blue Mountains near Sydney last Thursday, local media report.
The child's body was found by officers on Tuesday during a search of bushland in a neighbouring area.
Police said a 31-year-old man had been arrested in a flat in inner Sydney and charged with murder.
He was remanded in custody to face a court on Wednesday.
Media reports said the girl - who cannot be identified for legal reasons - was on holiday with her mother when she disappeared last Thursday.
She was reported missing the next morning, prompting a massive search by authorities in dense terrain.
New South Wales Police said the child's body was found in the Colo River area "with the assistance of police divers" and other specialist units.
"The body is yet to be formally identified," police said in a statement on Wednesday.
"A crime scene was established and is being examined by specialist forensic officers."
Identifying child victims of alleged crimes is prohibited under state law without permission from their next of kin, the Sydney Morning Herald reported.
Police said investigations were continuing.