鑑於這種對象:轉換stdClass的XML數據對象數組中的PHP
stdClass Object (
[customerdata] => <TPSession userid="22" CustomerId="123456"LoginId="123456"/><TPSession userid="26" CustomerId="1234567"LoginId="1234567" />
)
我怎麼能這樣XML數據轉換爲使用PHP的數組?
鑑於這種對象:轉換stdClass的XML數據對象數組中的PHP
stdClass Object (
[customerdata] => <TPSession userid="22" CustomerId="123456"LoginId="123456"/><TPSession userid="26" CustomerId="1234567"LoginId="1234567" />
)
我怎麼能這樣XML數據轉換爲使用PHP的數組?
XML數據是無效的。
你需要將它包裝成根元素,解決屬性問題,比你可以使用簡單的xml解析器來生成可以轉換爲數組的對象。
例
$o = new stdClass();
$o->customerdata = '<TPSession userid="22" CustomerId="123456"LoginId="123456" /><TPSession userid="26" CustomerId="1234567"LoginId="1234567" />';
function wrap($xml) {
return sprintf ('<x>%s</x>', $xml);
}
function fix($xml) {
return str_ireplace ('"LoginId', "\" LoginId", $xml);
}
$xml = wrap (fix ($o->customerdata));
$sx = new SimpleXMLElement ($xml);
$sx = (array) $sx;
$sx = $sx ['TPSession'];
foreach ($sx as $row) {
var_dump ((array) $row);
}
如果我知道你想進入所含的對象元素的字符串轉換爲數組,換句話說,一個XML字符串轉換成數組。
這是你在尋找什麼......
http://php.net/manual/en/function.simplexml-load-string.php
按照此頁面上的例子。
數組應該是什麼樣子? –