如何在PHP中读取此类XML格式
<Data xmlns:loc="loc">
<loc:user>
<loc:userID>12861320</loc:userID>
<loc:userMSISDN>244642867</loc:userMSISDN>
<loc:userExpiryDate>2019-06-30 17:09:05</loc:userExpiryDate>
<loc:userStatus>QUEUE</loc:userStatus>
</loc:user> </Data>
我正在使用SimpleXMLElement,但无法读取这些数据
答案 0 :(得分:-1)
您可以尝试以下代码:
$xml = '<Data xmlns:loc="loc">
<loc:user>
<loc:userID>12861320</loc:userID>
<loc:userMSISDN>244642867</loc:userMSISDN>
<loc:userExpiryDate>2019-06-30 17:09:05</loc:userExpiryDate>
<loc:userStatus>QUEUE</loc:userStatus>
</loc:user>
</Data>';
$xml= preg_replace("/(<\/?)(\w+):([^>]*>)/", "$1$2$3", $xml); // adding this worked for me
$array = json_decode(json_encode((array)simplexml_load_string($xml)),true);
echo "<pre>";
print_r($array);
echo "</pre>";
输出:
Array
(
[locuser] => Array
(
[locuserID] => 12861320
[locuserMSISDN] => 244642867
[locuserExpiryDate] => 2019-06-30 17:09:05
[locuserStatus] => QUEUE
)
)