There is a lot of additional information that pertains to how the message should look when it is printed in contrast to what the message is. HTML is a markup language. The purpose of HTML is to describe how a message should be rendered or displayed. XML describes the structure or meaning of data not how it should look. Sorting out command from structure is very difficult.
Lets add some XML tags to the personal data block.
The data block and all the fields in that block are clearly labeled by function. Any program that contains an XML parser and shares the same controlled vocabulary can extract the meaning from that block of text. A common vocabulary is important. Without the vocabulary, a parser can differentiate between tags and data but doesn't understand the meaning of the tags. It is very difficult to write a program that will extract a particular kind of information out of files by simply relying on adjacent information and context.