if u donot care time, there is another method (save you $15-30):
go to bank to buy a draft (make sure tell them to buy a international money order to China , not the one used in North American), it cost about $6 (sometime bank give you free one, my account cover this fee), then mail it back home (better to register ot other fast mail) or bring it with you when you travel to China.
when you cash this money order in China, U get higher exchange rate than Canadian cash; no extra fee, also only take 2-3 days.
The name in the money order have to have a bank account in China (say any branch of the Bank of China).
worse case: the mail lost, and you have to claim this money back from the bank you purchase, and maybe have to wait for 30 days.