2011-11-23 20 views
10

He navegado las preguntas con títulos similares, pero parece que no puedo encontrar exactamente lo que estoy buscando, si alguien detectó una pregunta similar, hágame la sugerencia. Aquí está mi pregunta:Obtener el espacio de nombres del archivo xml C#

tengo un archivo xsd que comienza de esta manera:

Beginning of my xsd file necesito saber cómo tener acceso mediante programación el valor de espacio de nombres del archivo mencionado.

Además mi solución tiene que ser genérica por lo que no puede simplemente buscar xmlns:xs porque el nombre exacto del espacio de nombres puede tener un nombre diferente

He intentado lo siguiente, pero al depurar el valor de la variable elementNamespace está en blanco "":

XElement elemet = XElement.Load(@"D:\xsd\Response.xsd"); 
string elementNamespace = elemet.GetDefaultNamespace().NamespaceName; 
System.Diagnostics.Debug.WriteLine("Namespace " + elementNamespace); 

Respuesta

6

Eso es debido a que el espacio de nombres predeterminado está en blanco/no especificado. Me había conjetura que desea GetNamespaceOfPrefix:

string elementNamespace = elemet.GetNamespaceOfPrefix("xs").NamespaceName; 

Aunque eso no lo hace un montón de sentido para ser honesto - No estoy muy seguro de lo que está después.

Cuestiones relacionadas