(my XML is rusty and I need to brush up, so excuse the lack of detail in the reply).
At this level it appears that way, but when you get into how to parse and read an XML file then you get the data in a slightly seperate way from an Attribute vs an Element.
For us SQL folk if you look at the XML of an execution plan, and start getting into X query you'll see that we have to parse a little differently for each.
In an XML document you can set up XML Indexes in SQL. There are only two types Primary XML Indexes and Secondary (both require a Clustered Index on the base table).
As an element you wouldn't be able to build an XML index on the ID column, as an attribute you could. There's probably a lot of "It depends" in here as well, again I'm rusty and we probably have some other folks that could explain this a little better.