El prefijo "no se puede redefinir de" a <url> dentro de la misma etiqueta de elemento de inicio

Estoy tratando de generar el siguiente elemento xml usando C #.

<Foo xmlns="http://schemas.foo.com" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://schemas.foo.com
 http://schemas.foo.com/Current/xsd/Foo.xsd">

El problema que tengo es que obtengo la excepción: el prefijo "no se puede redefinir desde" dentro de la misma etiqueta de elemento de inicio. Este es mi código C #:

XNamespace xsi = "http://www.w3.org/2001/XMLScema-instance"
XElement foo = new XElement("Foo", new XAttribute("xmlns", "http://schemas.foo.com"),
                                   new XAttribute(Xnamespace.Xmlns + "xsi", "http://www.w3.org/2001/XMLSchema-instance"),
                                   new XAttribute(xsi + "schemaLocation", "http://schemas.foo.com http://schemas.foo.com/Current/xsd/Foo.xsd"));

¿Cómo puedo arreglar esto? Estoy tratando de enviar el xml generado como el cuerpo de un mensaje SOAP y necesito que esté en este formato para el receptor.

EDITAR: Encontré mi respuesta en otra pregunta.Controlar el orden de los espacios de nombres XML

Respuestas a la pregunta(1)

Su respuesta a la pregunta