I think it's worth describing the use case here.
XML support is useful mainly when managing multiple text sources, particularly in a high-production setting. If I am streaming a tournament, I might have several text sources on the screen at a time: Player 1 name, Player 2 name, Player 1 score, Player 2 score, player 1 team, Player 2 team, tournament round, etc. etc. The number of text sources goes up pretty fast. Editing them by opening them and changing the text content character by character is slow, looks bad, and impossible to do when focused on a different scene.
One solution is to back them all by .txt files, which lets you change text source content immediately on save, and you can edit it without looking at the current scene that the text source is on. However, then you have the problem of needing to keep a ton of text files open all the time, which is a real hassle to manage. Also, you can only save one text file at a time, instead of all of them at once. And what happens if you get player 1 and 2 reversed? It can be a pain to swap around groups of text sources quickly.
There are a couple tools out there (like Jaxel's Scoreboard and Farp's StreamControl) that provide a UI for entering text into several different fields and saving them so that the changes all save all at once, and all the text fields are nicely organized and labeled, and easy to manage/swap if needed. These programs output each field to an XML file. Then programs can read the XML and assign the values of each field to the correct location. There is only one text file needed (the XML file) and its contents are managed by an easy-to-use program that lets you manage all your text sources in one place.