Comment by themafia
The simplest explanation is that attributes were a mistake. They add another layer to the structure and create confusion as to where data is best stored within it.
XML without attributes probably would have seen wide and ready adoption.
I see it as the opposite. Attributes weren’t used enough. The result was unnecessarily nested code.
“Keep things flat” is current good advice in terms of usability. That means favor attributes over children.