これは初心者の質問かもしれませんが、私をユーモアしてください。タグで「soap:」を含むxml文字列を読み取ると、xmlでsimplexml_load_string()が読み取られません。simplexml_load_string()はタグ内に "soap:"という名前のsoapレスポンスを読みません
は、このスクリプトを与えられた:
#!/usr/bin/php
<?php
$s='
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<context xmlns="urn:zimbra"/>
</soap:Header>
<soap:Body>
<AuthResponse xmlns="urn:zimbraAdmin">
<authToken>somevalue</authToken>
<lifetime>123124123</lifetime>
<a n="zimbraIsDomainAdminAccount">false</a>
</AuthResponse>
</soap:Body>
</soap:Envelope>';
print_r(simplexml_load_string($s));
echo "\n\n";
print_r(simplexml_load_string(str_ireplace("soap:", "", $s)));
?>
私はこの出力を得る:
[email protected]:~/code/zmsoap$ ./xmltest.php
SimpleXMLElement Object
(
)
SimpleXMLElement Object
(
[Header] => SimpleXMLElement Object
(
[context] => SimpleXMLElement Object
(
)
)
[Body] => SimpleXMLElement Object
(
[AuthResponse] => SimpleXMLElement Object
(
[authToken] => somevalue
[lifetime] => 123124123
[a] => false
)
)
)
[email protected]:~/code/zmsoap$
なぜこれが起こっている私はちょうど好奇心が強い、とのような課題を解決するために、より適切な方法があるかどうか文字列の置換を行うことに反対します。
は、名前空間に問題があるように見えます。 – JvdBerg