Это наиболее часто задаваемые вопросы в XPath .Ищите "xpath default namespace"
, и вы найдете много хороших ответов.
Краткое объяснение состоит в том, что в XPath любое имя без префикса считается принадлежащим "пространству имен".Поэтому, если мы хотим указать имена элементов, которые принадлежат некоторому пространству имен (включая пространство имен по умолчанию), эти имена должны иметь префикс, и указанный префикс должен быть связан (используя определенный API механизма XPath) сnamespace-uri пространства имен, в котором находится конкретный узел.
Следовательно, выражение может выглядеть примерно так: :
/soap:Envelope/soap:Body/x:VerifyEmailResponse/x:VerifyEmailResult/x:GoodEmail
, где префикс "x"
ассоциируется («регистрируя» эту ассоциацию пространства имен) с пространством имен "http://ws.cdyne.com/"