Here's why:
* "I have visited" is in the present perfect tense, which is used for actions that happened in the past and have a connection to the present. Since "last weekend" is clearly in the past, the present perfect is not the best choice.
* "I visited" is in the simple past tense, which is the correct tense to use for a completed action in the past.
* "The Taj Mahal" needs to be capitalized as it's a proper noun.
Let me know if you have any other grammar questions!