It is important that you select the correct method of loading the XML in depending on the format of your XML file. If you use the wrong function to load it in you will get some strange errors.
When using simplexml to access a element the returned object may be a SimpleXMLElement instead of a string. Example: <?php $string = <<<XML <?xml version='1.0'?> <document> <cmd>login</cmd> <login>Richard</login> </document> XML; $xml = simplexml_load_string($string); print_r($xml); $login = $xml->login; print_r($login); $login = (string) $xml->login; print_r($login); ?> Expected result: ---------------- SimpleXMLElement Object ( [cmd] => login [login] => Richard ) Richard Richard Actual result: -------------- SimpleXMLElement Object ( [cmd] => login [login] => Richard ) SimpleXMLElement Object ( [0] => Richard ) Richard But this is an intended behavior. See http://bugs.php.net/bug.php?id=29500
Коментарии
It is important that you select the correct method of loading the XML in depending on the format of your XML file.
If you use the wrong function to load it in you will get some strange errors.
When using simplexml to access a element the returned object may be a SimpleXMLElement instead of a string.
Example:
<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
<cmd>login</cmd>
<login>Richard</login>
</document>
XML;
$xml = simplexml_load_string($string);
print_r($xml);
$login = $xml->login;
print_r($login);
$login = (string) $xml->login;
print_r($login);
?>
Expected result:
----------------
SimpleXMLElement Object
(
[cmd] => login
[login] => Richard
)
Richard
Richard
Actual result:
--------------
SimpleXMLElement Object
(
[cmd] => login
[login] => Richard
)
SimpleXMLElement Object
(
[0] => Richard
)
Richard
But this is an intended behavior. See http://bugs.php.net/bug.php?id=29500