Sachverhalt: A. Die 1949 geborene M._ erlitt am ... als Beifahrerin einen Verkehrsunfall. Mit Verfügung vom 3. November 2006 sprach ihr die IV-Stelle des Kantons Zürich u.a. gestützt auf das vom Haftpflichtversicherer des Unfallverursachers (AXA Versicherungen) in Auftrag gegebene Gutachten des Spitals Z._, Neurologische Klinik und Poliklinik, vom 15. August 2005 eine ganze Rente ab 1. Oktober 2004 zu. Aufgrund der Ergebnisse einer Observation von M._ im Zeitraum vom 4. bis 24. März und 19. bis 20. Mai 2006 durch die AXA liess die IV-Stelle die Versicherte internistisch, rheumatologisch, neurologisch und psychiatrisch abklären (Gutachten des Medizinischen Abklärungszentrums X._ vom 10. November 2008). Nach durchgeführtem Vorbescheidverfahren hob die IV-Stelle mit Verfügung vom 27. November 2009 die ganze Rente auf Ende Dezember 2009 auf. B. Die Beschwerde der M._ wies das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 28. September 2011 ab. C. M._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit dem Rechtsbegehren, der Entscheid vom 28. September 2011 sei aufzuheben und ihr weiterhin eine ganze Rente zuzusprechen. 