php - 将数据从 .xml php 数组插入到 mysql

标签 php mysql

我正在尝试使用 OAuth 2.0 从 LinkedIn API 获取一些数据。我已经完成了名称的数据插入,但我似乎无法获得技能值。如果试图内爆数据但没有找到任何数据。我知道数据已收到。

我的代码:

    <?php
    session_start();
    require_once('oAuth/config.php');
    require_once('oAuth/linkedinoAuth.php');
    require_once('oAuth/class.linkedClass.php');


    $linkedClass   =   new linkedClass();
    # First step is to initialize with your consumer key and secret. We'll use an out-of-band oauth_callback
    $linkedin = new LinkedIn($config['linkedin_access'], $config['linkedin_secret']);
    //$linkedin->debug = true;

   if (isset($_REQUEST['oauth_verifier'])){
        $_SESSION['oauth_verifier']     = $_REQUEST['oauth_verifier'];

        $linkedin->request_token    =   unserialize($_SESSION['requestToken']);
        $linkedin->oauth_verifier   =   $_SESSION['oauth_verifier'];
        $linkedin->getAccessToken($_REQUEST['oauth_verifier']);
        $_SESSION['oauth_access_token'] = serialize($linkedin->access_token);
   }
   else{
        $linkedin->request_token    =   unserialize($_SESSION['requestToken']);
        $linkedin->oauth_verifier   =   $_SESSION['oauth_verifier'];
        $linkedin->access_token     =   unserialize($_SESSION['oauth_access_token']);
   }
   $content1 = $linkedClass->linkedinGetUserInfo($_SESSION['requestToken'], $_SESSION['oauth_verifier'], $_SESSION['oauth_access_token']);


    $xml   = simplexml_load_string($content1);
    $array = XML2Array($xml);
    $content = array($xml->getName() => $array);

    /* Info */
    $firstname = $array['first-name'];
    $lastname = $array['last-name'];
    $email = $array['email-address'];
    $headline = $array['headline'];
    $picurl = $array['picture-url'];
    $publicprofileurl = $array['public-profile-url'];

    $summary = $array['summary'];
    $numconnections = $array['num-connections'];

/* SKIILS */
$skills = $array['skills']->skill->skill->name;



    function XML2Array(SimpleXMLElement $parent)
    {
        $array = array();
        foreach ($parent as $name => $element) {
            ($node = & $array[$name])
                && (1 === count($node) ? $node = array($node) : 1)
                && $node = & $node[];
            $node = $element->count() ? XML2Array($element) : trim($element);
        }
        return $array;
    }
?>

数组:

  Array
(
    [person] => Array
        (
            [id] => ########
            [first-name] => ########
            [last-name] => ########
            [languages] => Array

            [skills] => Array
                (
                    [skill] => Array
                        (
                            [id] => 1
                            [skill] => Array
                                (
                                    [name] => Start-ups
                                )

                            [0] => Array
                                (
                                    [id] => 2
                                    [skill] => Array
                                        (
                                            [name] => Business Strategy
                                        )

                                )

                            [1] => Array
                                (
                                    [id] => 3
                                    [skill] => Array
                                        (
                                            [name] => Marketing Strategy
                                        )

                                )

                            [2] => Array
                                (
                                    [id] => 12
                                    [skill] => Array
                                        (
                                            [name] => Management
                                        )

                                )



                        )

                )

            [email-address] => ########
            [phone-numbers] => ########
            [im-accounts] => ########
            [twitter-accounts] => ########
            [headline] => ########
            [picture-url] => ########
            [public-profile-url] => ########
        )

)

最佳答案

这些是许多多个数组尝试:

$person=$array["person"]; // $person is array

//get first array values
$firstname = $person['first-name'];
$lastname = $person['last-name'];
$email = $person['email-address'];
$headline = $person['headline'];
$picurl = $person['picture-url'];
$publicprofileurl = $person['public-profile-url'];

$skills=$person["skills"]; //$skills is array
$skills_inner=$skills["skill"]; //skills_inner is array

//get $skills_inner value (id)
$id=$skills_inner["id"];

$skills_inner_2=$skills_inner["skill"]; // $skills_inner_2 is array

// get $skills_inner_2 value (name)
$name=$skills_inner_2["name"];

祝你好运。

关于php - 将数据从 .xml php 数组插入到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28663135/

相关文章:

MySQL查询以获得共同的持续时间

php - 将 base64 字符串中的图像从 android 发送到 PHP 是一个好习惯吗?

php - 如何从 "threads"表上相关线程的行中检索自动递增编号?

mysql - 在Sql中通过数字限制多对多关系

php - 我如何从数据库中获取一列?

php - 如何存储图像?

php - 在页面 View 上更新表值?

php - 优秀的独立svn客户端

php - 如果我在 mysql 中运行事件会发生什么?

php - 通过连接表的特定 ID 对 mysql 结果进行排序