2011-11-23 20 views
10

Przeglądałem pytania o podobne tytuły, ale nie mogę znaleźć dokładnie tego, czego szukam, jeśli ktoś zauważył podobne pytanie, uprzejmie wskazał mi wątek. Oto moje pytanie:Uzyskaj przestrzeń nazw z pliku xml C#

mam pliku xSD, która rozpoczyna się od tak:

Beginning of my xsd file muszę wiedzieć jak programowo dostęp wartość przestrzeni nazw powyższego pliku.

Dodatkowo moje rozwiązanie musi mieć charakter ogólny, więc nie mogę po prostu szukać xmlns:xs ponieważ dokładna nazwa przestrzeni nazw może mieć inną nazwę

Próbowałem następujących, ale podczas debugowania wartość zmiennej elementNamespace jest puste "":

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

Odpowiedz

6

To dlatego, że domyślny obszar nazw jest pusty/nieokreślony. Ja bym przypuszczenie który chcesz GetNamespaceOfPrefix:

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

Mimo, że nie ma dużo sensu szczerze mówiąc - nie jestem pewien, co jest po.

Powiązane problemy