I was starting to think there's a limit to how much stuff you can put into an xml file when I figured out the problem was that I used '#' as the name that is used to identify a node. (If you use Notepad++ it's the red text that appears after the node name like this: <Button #="Drop">
Pretty sure this isn't the first time I've used a hash and caused my XML not to load and I get absolutely no notification of any problems within the XML and have my entire game not function properly. Is there some list of conditions that can cause errors or some way to debug an XML file?
I should probably mention I haven't learnt XML as a language, I just know how to write the data in an XML format and read it in Construct. So I don't know all these things.