Can I update my [rooted] phone using downloaded OTA zip file? how? My phone (HTC One M7) is rooted, so I can't update it simply by accepting update option in the settings menu. 

I downloaded a zip file from a forum for an OTA available for my phone. 

Now how can I use this OTA zip file to update my phone? How can I do that?

My phone:
HTC One M7, rooted, bootloader unlocked, S-on.

thanks.
These OTA files check for every part(file) of the update if a checksum still matches. If your rooting procedure touched some files on the system partition or you removed some preinstalled files this check will fail and the updating procedure will stop because of an assertion error. 

As you already found out you need to restore your system partition to the expected state inside the OTA update(matching checksums) install the update via recovery and re-root as this procedure deletes all changes not included in the OTA update package from your system partition.