1
У меня есть некоторые XML:PowerShell, XML и пространства имен
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<P2MessageServiceStatus>
<CONNECTION>CONNECTION_CONNECTED</CONNECTION>
<ROUTER>ROUTER_CONNECTED</ROUTER>
</P2MessageServiceStatus>
</SOAP:Body>
</SOAP:Envelope>
не может справиться с ним из-за пространства имен. Пытается много, но не работает.
[string]$xpath = '/SOAP:Envelope/SOAP:Body/P2MessageServiceStatus/@CONNECTION'
$wc = New-Object Net.WebClient
[xml]$stuff = $wc.DownloadString($url)
$ns = New-Object Xml.XmlNamespaceManager $stuff.NameTable
$ns.AddNamespace("SOAP", $xmlns)
$xmlvalue = $stuff.SelectSingleNode($xpath, $ns)
Ошибка - потребность менеджера пространств имен или XsltContext
Если
$xmlvalue = $stuff.SelectSingleNode($xpath,'SOAP')
Ошибка - Не удалось найти перегрузки для "SelectSingleNode"
Как заставить этот запрос xpath работать с пространствами имен?
, если я использую $ stuff.SelectSingleNode ($ XPath, $ имен) его не работает вообще. Если $ stuff.SelectSingleNode ($ xpath, $ namespaceMgr), он возвращает значение, но также я получил исключение «can not find reload для SelectSingleNode и 2 метода ...» ... это нормально? –
omg я получил это исключение на рабочем компьютере, но не на моем сервере ... он работает..от вас много –
, если я вижу переменную $ namespaceMgr, я увижу 3 из них - xmlns, xml, SOAP. может ли это быть причиной ошибок? –