There are some common desirable properties of data representation formats. Readability by humans is one such desire. Readability by computers is another one, which somehow contradicts the first one. Portability across platforms is one. Efficiency and compactness is another one that contradicts portability.
However, during my time as an admin in the data center of my university department, I gained at least a little expierience with software - though of course not as much as someone working at a huge company for years - and that little expierience tells me to always look at what software can rather than what it cannot do, when really trying to build something. You will find deficiencies in every abstraction layer you have to work with. And you cannot build any realistic project completely from scratch, you have to rely on things others have done so far.
Now, XMLRPC is a standard for doing remote procedure calls over HTTP via an XML substandard. It can be called via default AJAX APIs from the browser, and it can be exported by a lot of languages, even Common Lisp has a library for exporting functions. So yes, it is a standard that bases on XML, and even apart from that it has its own deficiencies (like no default mechanism for null-values). But it gives an acceptable infrastructure for simple remote procedure calls. And for everything more complicated, you will use a specialized format, anyway.
That is why I like XMLRPC. It is a stupid standard, and actually, I would be able to come up with something better in, say, 20 minutes. But that is not the point.