I'm open to non-efficient solutions like a string replace (only on that node), however I tried it without success.

This is the relevant code I'm using:

Public Property ImportedNamespaces As SortedSet(Of String)
Get
Return New SortedSet(Of String)((From el As XElement In Me.ItemGroups()(1).Elements()
Select el.@Include))
End Get
Set(ByVal value As SortedSet(Of String))
Me.ItemGroups()(1).RemoveAll()

Dim writer As XmlWriter = Me.ItemGroups()(1).CreateWriter
For Each s As String In value
With writer
.WriteStartElement(Nothing, "Import", Nothing)
.WriteAttributeString(Nothing, "Include", Nothing, s)
.WriteEndElement()
End With
Next
writer.Flush()
writer.Close()

' This doesn't works.
' For Each el As XElement In Me.ItemGroups()(1).Elements("Import")
' el.Attribute("xmlns").Remove()
' Next