Ответ 1
У Скотта Гензельмана есть статья о том, как получить пространства имен:
http://www.hanselman.com/blog/GetNamespacesFromAnXMLDocumentWithXPathDocumentAndLINQToXML.aspx
Я просматривал вопросы с похожими названиями, но не могу найти точно, что я ищу, если кто-нибудь заметил подобный вопрос, любезно укажите мне на поток. Вот мой вопрос:
У меня есть xsd файл, который начинается примерно так:
Мне нужно знать, как программно получить доступ к значению пространства имен указанного файла.
Кроме того, мое решение должно быть общим, поэтому я не могу просто искать xmlns:xs
, потому что точное имя пространства имен может иметь другое имя
Я пробовал следующее, но когда отладка значения переменной elementNamespace
пуста ""
:
XElement elemet = XElement.Load(@"D:\xsd\Response.xsd");
string elementNamespace = elemet.GetDefaultNamespace().NamespaceName;
System.Diagnostics.Debug.WriteLine("Namespace " + elementNamespace);
У Скотта Гензельмана есть статья о том, как получить пространства имен:
http://www.hanselman.com/blog/GetNamespacesFromAnXMLDocumentWithXPathDocumentAndLINQToXML.aspx
Это потому, что пространство имен по умолчанию пусто или не указано. Я бы угадал, что вы хотите GetNamespaceOfPrefix
:
string elementNamespace = elemet.GetNamespaceOfPrefix("xs").NamespaceName;
Хотя это не имеет большого смысла, чтобы быть честным - я не совсем уверен, что вы после.