Carry over XML node attributes

This makes it so if an xml entity has properties, that they are carried over. If no properties exist, the old behavior stays in place. If they do, the text is added to the properties objects as a `$text` property and an object is returned.