A full quantitative analysis of Fe K-edge X-ray absorption spectra has been performed for hemes in two porphynato complexes, that is, iron(III) tetraphenylporphyrin chloride (Fe(III)TPPCl) and iron(III) tetraphenylporphyrin bis(imidazole) (Fe(III)TPP(Imid)2), in two protein complexes whose X-ray structure is known at atomic resolution (1.0 A), that is, ferrous deoxy-myoglobin (Fe(II)Mb) and ferric aquo-myoglobin (Fe(III)MbH2O), and in ferric cyano-myoglobin (Fe(III)MbCN), whose X-ray structure is known at lower resolution (1.4 A). The analysis has been performed via the multiple scattering approach, starting from a muffin tin approximation of the molecular potential. The Fe-heme structure has been obtained by analyzing independently the Extended X-ray Absorption Fine Structure (EXAFS) region and the X-ray Absorption Near Edge Structure (XANES) region. The EXAFS structural results are in full agreement with the crystallographic values of the models, with an accuracy of +/- 0.02 A for Fe-ligand distances, and +/-6 degrees for angular parameters. All the XANES features above the theoretical zero energy (in the lower rising edge) are well accounted for by single-channel calculations, for both Fe(II) and Fe(III) hemes, and the Fe-N p distance is determined with the same accuracy as EXAFS. XANES evaluations of Fe-5th and Fe-6th ligand distances are determined with 0.04-0.07 A accuracy; a small discrepancy with EXAFS (0.01 to 0.05 A beyond the statistical error), is found for protein compounds. Concerns from statistical correlation among parameters and multiple minima in the parameter space are discussed. As expected, the XANES accuracy is slightly lower than what was found for polarized XANES on Fe(III)MbCN single crystal (0.03-0.04 A), and states the actual state-of-the-art of XANES analysis when used to extract heme-normal parameters in a solution spectrum dominated by heme-plane scattering.