Я не знаю, как определить префикс пространства имен в выражении XPath.
Но вы можете написать выражение XPath, которое не зависит от префиксов пространства имен, с помощью функций local-name () и namespace-uri (), где это необходимо.
или , если вы заранее знаете пространства имен XML, вы можете зарегистрировать произвольный префикс для них в XmlNamespaceManager и указать своему пользователю использовать этот префикс в выражении XPath. Не имеет значения, регистрирует ли сам документ XML другой префикс или вообще не имеет префикса. Разрешение пути основывается только на пространстве имен, а не на префиксе.
Другим вариантом может быть сканирование документа во время выполнения (используйте XmlReader, чтобы сэкономить ресурсы, если вы его еще не загрузили), а затем добавить используемые сопоставления в документ в XmlNamespaceManager. Я не уверен, что вы можете получить пространства имен и префиксы из XmlDocument, но я не вижу прямого способа сделать это. С XmlReader это легко сделать, поскольку он предоставляет члены NamespaceURI и Prefix для каждого узла.