我正在尝试执行以下代码:
<?php
$xml = <<<EOD
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="urn:enterprise.soap.sforce.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<loginResponse>
<result>
<metadataServerUrl>
https://na3.salesforce.com/services/Soap/m/28.0/00D50000000IdrE
</metadataServerUrl>
<passwordExpired>false</passwordExpired>
<sandbox>false</sandbox>
<serverUrl>
https://abc.com/services/Soap/c/28.0/00D50000000IdrE
</serverUrl>
<sessionId>
00D50000000IdrE!AREAQK4VYXRaHoL_uRvOi.QXXw3ahAt2Cge254wygiW7cr_f6DVa2pDC6g57w5IE
fidAu3ZRsJFBN5Bwb6DVhF18zKFiVVyT
</sessionId>
<userId>00550000001Dd4uAAC</userId>
<userInfo>
<accessibilityMode>false</accessibilityMode>
<currencySymbol>$</currencySymbol>
<orgAttachmentFileSizeLimit>5242880
</orgAttachmentFileSizeLimit>
<orgDefaultCurrencyIsoCode>USD</orgDefaultCurrencyIsoCode>
<orgDisallowHtmlAttachments>false
</orgDisallowHtmlAttachments>
<orgHasPersonAccounts>false</orgHasPersonAccounts>
<organizationId>00D50000000IdrEEAS</organizationId>
<organizationMultiCurrency>false</organizationMultiCurrency>
<organizationName>3CLogic</organizationName>
<profileId>00e500000017al5AAA</profileId>
<roleId xsi:nil="true"/>
<sessionSecondsValid>7200</sessionSecondsValid>
<userDefaultCurrencyIsoCode xsi:nil="true"/>
<userEmail>ramana@3clogic.com</userEmail>
<userFullName>Ramana</userFullName>
<userId>00550Dd4uAAC</userId>
<userLanguage>en_US</userLanguage>
<userLocale>en_US</userLocale>
<userName>raman@gmail.com.com</userName>
<userTimeZone>America/New_York</userTimeZone>
<userType>Standard</userType>
<userUiSkin>Theme3</userUiSkin>
</userInfo>
</result>
</loginResponse>
</soapenv:Body>
</soapenv:Envelope>
EOD;
$sxe = new SimpleXMLElement($xml);
$sxe->registerXPathNamespace('env', 'http://schemas.xmlsoap.org/soap/envelope/ ');
$sxe->registerXPathNamespace('def', 'urn:enterprise.soap.sforce.com');
$result = $sxe->xpath('/env:Envelope/env:Body/def:loginResponse/def:result/def:serverUrl');
?>
但是,收到以下错误:
Call to undefined method SimpleXMLElement::registerXPathNamespace()
我正在使用 php 版本 5.0.5。但是,使用 php 版本 5.1.0 和 5.5.3 我收到此错误但也没有输出。我正在尝试提取 xml 标记“serverUrl”的值。请帮忙。如果可能,请为 php 5.0.5 提出解决方案