Check an example:
declare @xml xml = '
<Form>
<Elements>
<Element ID="12" Text="SectionA" Condition="0">
<Element ID="1" Text="Q1" Condition="4">
</Element>
</Element>
<Element ID="123" Text="SectionB" Condition="0">
<Element ID="124" Text="Q1" Condition="0">
</Element>
</Element>
</Elements>
</Form>
'
select
r.value('@ID', 'int') as [Element ID],
concat(r.value('../@Text', 'varchar(max)') + ' - ', r.value('@Text', 'varchar(max)')) as [Element Ref],
r.value('@Condition', 'varchar(max)') as [Condition],
r.value('../@ID', 'int') as [Parent ID]
from @xml.nodes('//Element') t(r)
It assumes that Element Ref is a concatenation between parent and child.
Give more details, if any.