You could create a simple REST API that consists of a server-side script, or scripts, that return data that you approve and format. You could also assign a key to each party that wants access to the API, much like Twitter's REST API. So for instance, say someone wants to get an XML-formatted list of all entries, they could use curl to access the API using something like the following URI:
http://yoursite.com/API/?request=getEntries&key=aasf80sdfaddsajdf87890sadf
You could of course then add additional parameters to the query string, ie date restrictions, limit the number returned, etc.
/API/index.php would then of course see that "getEntries" is being requested, and after authenticating the provided key, your system can output the requested XML.