Я пытаюсь читать документы в формате OSIS.Я сократил документ до простого фрагмента:
<?xml version="1.0" encoding="utf-8"?>
<osis xmlns="http://www.bibletechnologies.net/2003/OSIS/namespace">
<osisText osisRefWork="Bible" osisIDWork="kjv" xml:lang="en">
</osisText>
</osis>
Я пытаюсь прочитать его с этим примером кода из документации MSDN:
XPathDocument document = new XPathDocument("osis.xml");
XPathNavigator navigator = document.CreateNavigator();
XPathNodeIterator nodes = navigator.Select("/osis/osisText");
while (nodes.MoveNext())
{
Console.WriteLine(nodes.Current.Name);
}
Проблема состоит в том, что выбор содержитнет узлов и выбрасывает без исключения.Поскольку код отбрасывает корневой тег, я не могу прочитать документ.Если я удаляю xmlns = "http://www.bibletechnologies.net/2003/OSIS/namespace" из корневого тега osis, он работает просто отлично. Оскорбительный URL-адрес возвращает код 404, но в противном случае я не вижу ничего плохого в этом XML. Может кто-нибудь объяснить, почему этот код не будет читатьдокумент? Какие варианты у меня есть, кроме ручного редактирования каждого документа перед попыткой его загрузки?