Planes - The fastest way. Flight times from Guangzhou to Guilin are the shortest and most regular. From Guangzhou Baiyun Intentional Airport take an internal; flight to Guilin. Flight times are about 1 hour. From the airport take a bus or a taxi to Yangshuo; as described above.
Buses - There are many buses from Guangzhou to Yangshuo. You can take buses from Tianhe Bus station or Guangdong Province Bus Station, the rate for non-stop air-conditioned bus is RMB 130. Other bus offer discounted rates from RMB 70-100, but they will stops at almost every small town on the way to Yangshuo! These buses leaving regularly in the evening and travel over night. The non-stop buses take about 11 hours to reach Yangshuo.
Trains - There is a good service from Guangzhou which takes about 16 hours to Guilin. You can buy tickets for either hard or soft sleepers. Both of these consist of small bunk beds in a shared carriage which are quite comfortable and give quite a good night's sleep.
Girder Train to Guilin - There is a new high speed girder train between Guangzhou and Guilin that takes just under 3 hours. It goes from Guangzhou South railway station to Guilin North railway station. Ticket prices are between RMB137.50 to RMB165.00 per ticket.