Что такое XPath (в С# API для XDocument.XPathSelectElements(xpath, nsman), если это важно) для запроса всех MyNodes из этого документа?
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<MyNode xmlns="lcmp" attr="true">
<subnode />
</MyNode>
</configuration>
- Я пробовал
/configuration/MyNode, что неверно, потому что он игнорирует пространство имен. - Я пробовал
/configuration/lcmp:MyNode, что неверно, потому чтоlcmp- это URI, а не префикс. - Я пробовал
/configuration/{lcmp}MyNode, который потерпел неудачу, потому чтоAdditional information: '/configuration/{lcmp}MyNode' has an invalid token.
EDIT: я не могу использовать mgr.AddNamespace("df", "lcmp");, как предложили некоторые из респондентов. Это требует, чтобы программа синтаксического анализа XML знала все пространства имен, которые я планирую использовать раньше времени. Поскольку это предназначено для применения к любому исходному файлу, я не знаю, для каких пространств имен нужно вручную добавлять префиксы. Кажется, что {my uri} - это синтаксис XPath, но Microsoft не потрудилась реализовать это... true?