How long is a piece of string? I can write a database query that's much slower than reading the same data from an XML file, but I can also write an XML file that's much slower to query than reading a database.
I would say if you're displaying "mostly" static content and you're worried about performance, then it's probably a better idea to implement it in whatever way you think would be the simplest, then use a caching mechanism to make it performant - this way, the first access might be "slow" but subsequent accesses will be much, much faster.
Typically, if you're generating HTML content, write the completed HTML to disk and send that to the browser, instead of populating it from the database/XML files on subsequent requests. If you have your backend process delete the cached files whenever it does an update to the content, then the server can automatically detect when the file doesn't exist and re-generate it again.