Ваш документ имеет пространство имен по умолчанию, поэтому вам нужно зарегистрировать это пространство имен в своем выражении. Я никогда не использовал libxml2
, но, глядя на их примеры , может показаться, что вам нужна функция xmlXPathRegisterNs
Обратите внимание, что при регистрации пространства имен префикс, который вы выбираете для выражения XPath, не должен совпадать с префиксом (если есть), используемым в документе. Поскольку ваш документ использует пространство имен по умолчанию (не префикс), он определенно не будет. Однако вам все равно нужно использовать префикс в вашем XPath:
/ns:description/ns:display-name/ns:name