If you can influence the generation of the XML you have to deal with, I'd suggest to write your dates in a proper way into the XML (ISO8601).
But nevertheless you can go on with what you have:
declare @xml XML=
'<root>
<node yourdate="1958-07-11+01:00">Some value for 1958-07-11</node>
</root>';
SELECT @xml.value('(/root/node/@yourdate)[1]','datetime') AS YourDate --Look at the time shift!
--and now, how to filter this
declare @xmlMany XML=
'<root>
<node yourdate="1958-07-11+01:00">Some value for 1958-07-11</node>
<node yourdate="1999-07-23+01:00">Some value for 1999-07-11</node>
<node yourdate="2016-01-13+01:00">Some value for 2016-01-13</node>
<node yourdate="2016-01-12+01:00">Some value for 2016-01-12</node>
</root>';
WITH AllNodes AS
(
SELECT One.Node.value('@yourdate','datetime') AS YourDate
,One.Node.value('.','varchar(max)') AS NodeValue
FROM @xmlMany.nodes('/root/node') AS One(Node)
)
SELECT *
FROM AllNodes
WHERE YourDate> GETDATE()-7