Access to database will be always faster than xml, maintain tasks are easier and it is more extensible.
Parsing XML is always resource consuming.
Regardless of which nodes you want to access, you have to read and parse the entire document.
If you were using it for reading some settings, I would suggest XML is a good option, caching it it would improve performance (this is something we do more commonly in .NET:
http://www.asp.net/data-access/tutorials/caching-data-with-the-objectdatasource-cs)
But I think you're doing searches with the autocomplete, so it seems to me it's more inefficient the db.
As another user said in a stackoverflow question:
"XML is not a database. XML is a data interchange format, and using it as a database is generally an abuse."