I see you have an "architect" with a warped mind who likes to make things much harder than they need to be. My solution for this type of situation has always been to refactor and make things simpler and straightforward. The problem here is trying to put too much flexibility, something that good designers should consider as "technical debt." Good luck.
Edit: Sorry, I tend to take some my real-world frustrations out on imaginary characters such as the "architect with a warped mind"; ignore my mini-rant there -- the decision to put more flexibility than is really necessary is still technical debt though and you should consider simplifying the design so you don't have to go through so many gyrations and machinations in code.
No, I'm saying your XML is too convoluted and not the right way to use XML. XML is meant to represent a structure, so why do you embed two logical values in one XML value (column name; value)? That doesn't make sense. If anything, you should have something like this:
or probably even better
Why make it harder by requiring consumers of the XML to parse the value of an element? That's a bad design and misuse of XML.