Как я могу получить значение атрибута xsi: noNamespaceSchemaLocation, используя XDocument C# - PullRequest
1 голос
/ 01 апреля 2020

У меня есть множество XML файлов, которые имеют различные значения xsi: noNamespaceSchemaLocation. Это атрибуты в узле root документов. Мне нужно прочитать значения xsi: noNamespaceSchemaLocation из файлов. Это не должно быть сложно, но я изо всех сил.

Пример XML (это узел root):

<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:dc="http://www.purl.org/dc/elements/1.1/" 
xmlns:xlink="http://www.w3.org/1999/xlink" 
xsi:noNamespaceSchemaLocation="http://www.someSchemaLocation.xsd">

Это значение xsi: noNamespaceSchemaLocation , который я ищу.

Я могу сделать:

string blah = myXdocument.Root.GetNamespaceOfPrefix("xsi").NamespaceName;

, и это возвращает "http://www.w3.org/2001/XMLSchema-instance", как и следовало ожидать.

I ' мы пробовали:

string test = myXdocument.Root.Attribute("xsi" + "noNamespaceSchemaLocation").Value.ToString(); 

но это возвращает ноль.

Любая идея, пожалуйста?

1 Ответ

1 голос
/ 01 апреля 2020

В ролях blah до XNamespace:

string test = myXdocument.Root.Attribute((XNamespace)blah + "noNamespaceSchemaLocation")
    .Value.ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...