-2

我从我链接的连接脚本中得到这个结果,

<person>
  <email-address>xzenia1@gmail.com</email-address>
  <picture-url>http://m3.licdn.com/mpr/mprx/0_UiHHf6SiF4yuBerHUkfUfkshFpomUIrHMbpBf5Iy4sOYk7FecL4XTLxtdAEl42AXsho9hGzDtRBl</picture-url>
</person>

这是php调用

$xml_response = $linkedin->getProfile("~:(email-address,picture-url)");

如何使它们分配给单独的 PHP 变量。

4

3 回答 3

1

您可以将 xml 作为字符串加载simplexml_load_string,然后在其中循环以获取所有数据

$xml = simplexml_load_string($xml_response);
foreach($xml as $key => $val)
{
    echo "$key=>$val<br>" . "\n";
}

这将输出

email-address=>xzenia1@gmail.com
picture-url=>http://m3.licdn.com/mpr/mprx/0_UiHHf6SiF4yuBerHUkfUfkshFpomUIrHMbpBf5Iy4sOYk7FecL4XTLxtdAEl42AXsho9hGzDtRBl

现场样品

于 2013-05-18T12:27:19.360 回答
0

尝试,

    $xml = (array)simplexml_load_string($xml_response);

    echo  $email=$xml['email-address'];
    echo $picture=$xml['picture-url'];
于 2013-05-18T12:23:43.503 回答
0
$xml = simplexml_load_string($linkedin->getProfile("~:(email-address,picture-url)"));

echo $xml->{'email-address'}[0] . "<br />";
echo $xml->{'picture-url'}[0];

simplexmldoesn't like - in node names, therefore use $xml->{'email-address'} instead of $xml->email-address.

use index [0] on both nodes, just in case, if one day your simplexml object would contain more than one <person> node...

see it working: http://codepad.viper-7.com/dQQ6sa

于 2013-05-18T16:04:51.980 回答