Based on evolutionised details, check an example that, however, uses two tables only instead of four ones, using local tables (which probably is irrelevant):
declare @XmlData as xml = N'<?xml version="1.0" encoding="utf-16"?>
<Root>
<PeriodicalData>
<Section>Consensus Model</Section>
<LineItem>Total Revenue</LineItem>
<XFundCode>TRIN</XFundCode>
<StandardDate>2010 FY</StandardDate>
<StandardValue>65225</StandardValue>
</PeriodicalData>
<PeriodicalData>
<Section>Consensus Model</Section>
<LineItem>Net Sales</LineItem>
<XFundCode>TRIN</XFundCode>
<StandardDate>2011 FY</StandardDate>
<StandardValue>108249</StandardValue>
</PeriodicalData>
</Root>'
declare @tblSectionTemplate as table (SectionId int, Section nvarchar(max))
declare @TblLineItemTemplate as table (LineItemId int, LineItem nvarchar(max))
insert @tblSectionTemplate values (100, 'Consensus Model')
insert @TblLineItemTemplate values (40, 'Total Revenue')
insert @TblLineItemTemplate values (50, 'Net Sales')
select SectionId, x.Section, LineItemId, x.LineItem, pd.value('StandardDate[1]', 'nvarchar(max)') as StandardDate
from @XmlData.nodes('/Root/PeriodicalData') as r(pd)
cross apply (values (pd.value('Section[1]', 'nvarchar(max)'), pd.value('LineItem[1]', 'nvarchar(max)'))) as x(Section, LineItem)
inner join @tblSectionTemplate as st on st.Section = x.Section
inner join @TblLineItemTemplate as lit on lit.LineItem = x.LineItem
/*
SectionId Section LineItemId LineItem StandardDate
100 Consensus Model 50 Net Sales 2011 FY
100 Consensus Model 40 Total Revenue 2010 FY
*/