I would have thought that a 7-year-old would find it reasonably easy to grasp the concept of a tree-structure – perhaps that would be a way to tackle explaining the relative levels of headings (“so this bit of text belongs under this heading – but where does the heading belong? Under the first heading – so we’ll make that a Level 2 heading to show that it is underneath the Level 1 heading.”)

Maybe sketching out a sort of ‘content-only’ DOM would help?