Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在循环中解析linkedin xml_Php_Xml_Parsing_Linkedin - Fatal编程技术网

Php 在循环中解析linkedin xml

Php 在循环中解析linkedin xml,php,xml,parsing,linkedin,Php,Xml,Parsing,Linkedin,使用LinkedIn API从当前用户获取返回的连接,我可以做到这一点,但我正在努力格式化LinkedIn返回的数据,以便将其保存到数据库以供进一步使用 返回的数据工作正常,我可以一次性打印出整个转储文件 $result = new SimpleXMLElement($response['linkedin']); print_r ($result); 但我想循环遍历返回数据中的所有条目,并在运行时将每个条目保存到数据库中 返回的数据格式为: SimpleXMLElement Object (

使用LinkedIn API从当前用户获取返回的连接,我可以做到这一点,但我正在努力格式化LinkedIn返回的数据,以便将其保存到数据库以供进一步使用

返回的数据工作正常,我可以一次性打印出整个转储文件

$result = new SimpleXMLElement($response['linkedin']);
print_r ($result);
但我想循环遍历返回数据中的所有条目,并在运行时将每个条目保存到数据库中

返回的数据格式为:

SimpleXMLElement Object ( [@attributes] => Array ( [total] => xxx [count] => xxx [start] => 0 ) [person] => Array (

[0] => SimpleXMLElement Object ( [id] => xxx [headline] => xxx [first-name] => xxx [last-name] => xxx [picture-url] => xxx )

[1] => SimpleXMLElement Object ( [id] => xxx [headline] => xxx [first-name] => xxx [last-name] => xxx [picture-url] => xxx )

[2] => SimpleXMLElement Object ( [id] => xxx [headline] => xxx [first-name] => xxx [last-name] => xxx [picture-url] => xxx )
目前,我只是尝试将循环数据作为测试回送到屏幕上,我当前的代码是:

$result = new SimpleXMLElement($response['linkedin']);

foreach ($result["data"] as $value) {

$connection_id = $value["id"];
$connection_headline = $value["headline"];
$connection_fname = $value["first-name"];
$connection_lname = $value["last-name"];
$connection_photo = $value["picture-url"];

echo "$connection_id<br />\n";
echo "$connection_fname $connection_lname<br />\n";
echo "$connection_headline<br />\n";
echo "$connection_photo<br /><br />\n";

}
$result=newsimplexmlement($response['linkedin']);
foreach($result[“data”]作为$value){
$connection_id=$value[“id”];
$connection_headline=$value[“headline”];
$connection_fname=$value[“first name”];
$connection_lname=$value[“last name”];
$connection_photo=$value[“图片url”];
回显“$connection\u id
\n”; 回显“$connection\u fname$connection\u lname
\n”; 回显“$connection\u headline
\n”; 回显“$connection\u photo

\n”; }
但这不起作用

我还尝试了另一个SO问题()中的以下代码

$result=newsimplexmlement($response['linkedin']);
foreach($result->值为$value){
$connection\u id=$value->id;
$connection\u headline=$value->headline;
$connection\u fname=$value->first name;
$connection\u lname=$value->last name;
$connection\u photo=$value->图片url;
回显“$connection\u id
\n”; 回显“$connection\u fname$connection\u lname
\n”; 回显“$connection\u headline
\n”; 回显“$connection\u photo

\n”; }
但这似乎也不起作用,只会导致代码出现相同的空白屏幕

关于如何循环通过返回的“SimpleXMLElement对象”数据数组,并在运行时将每个值保存到变量,以便打印到屏幕/保存到数据库的任何指针

感谢您的光临

foreach ($result["data"] as $value) {
您正在循环遍历索引值为“data”的和数组,该索引值在对象中不存在。

当数组是对象时,您正在对其使用数组语法
这就是为什么我建议使用get_object_vars()将对象转换为数组

$result = get_object_vars($result);
你已经编辑了你播的垃圾,所以我不知道什么是什么

在get_object_vars之后进行var_转储,如果仍然无法使其工作,则将其发布。

这可能有助于找到正确的索引:

foreach ($result as $key => $value) {
  $val =  serialize($value)
  echo "<p>key: $key  value: $val</p>"
}

添加$result=get\u object\u vars($result);没有效果。添加var_dump($result);只是将整个未格式化的响应直接转储到屏幕上。在尝试循环遍历数组并将值解析为php变量时,这两种方法都没有帮助。因为转储文件没有显示右括号,所以我无法告诉如何获取person数组:`foreach($??[person]`
foreach ($result as $key => $value) {
  $val =  serialize($value)
  echo "<p>key: $key  value: $val</p>"
}
foreach ($result as $key => $value) {
  echo "<p>key: $key  value: " . var_export($value);
}
 foreach ($result[$key] as $k=> $value) {