链接在php变量的xml响应中

时间:2013-05-18 12:21:12

标签: php xml

我从连接脚本中的链接

获取此结果
<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变量。

3 个答案:

答案 0 :(得分:1)

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

$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

Live sample

答案 1 :(得分:0)

尝试,

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

    echo  $email=$xml['email-address'];
    echo $picture=$xml['picture-url'];

答案 2 :(得分:0)

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

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

simplexml不喜欢节点名称中的-,因此请使用$xml->{'email-address'}代替$xml->email-address

在两个节点上使用索引[0],以防万一,如果有一天您的simplexml对象包含多个<person>节点......

看到它有效:http://codepad.viper-7.com/dQQ6sa