如何过滤JSON和XML。PHP

如何过滤JSON和XML。PHP,xml,json,twitter,Xml,Json,Twitter,我有一个功能,可以获取推特帐户的朋友和追随者。我正在制作一个“谁不关注后面的应用程序”,我如何过滤xml/json数据(我可以同时使用这两种数据)ie来响应下面的内容,而不是追随者中的内容 这是我的密码 function twitter_notf_page($query) { $user = $query[1]; if (!$user) { user_ensure_authenticated(); $user = user_current_

我有一个功能,可以获取推特帐户的朋友和追随者。我正在制作一个“谁不关注后面的应用程序”,我如何过滤xml/json数据(我可以同时使用这两种数据)ie来响应下面的内容,而不是追随者中的内容

这是我的密码

function twitter_notf_page($query) {
        $user = $query[1];
    if (!$user) {
        user_ensure_authenticated();
        $user = user_current_username();
    }
    $request = API_URL."statuses/friends/{$user}.xml";
    $tla = lists_paginatedd_process($request);
    $request = API_URL."statuses/followers/{$user}.xml";
    $tl = lists_paginatedd_process($request);
    $content = "<h2>FRIENDS</h2>";
    $content .= theme('notf', $tla);
    $content.="<br><hr>";
    $content .= "<h2>FOLLOWERS</h2>";
    $content .= theme('notf', $tl);
    theme('page', 'Followers', $content);
}

function lists_paginatedd_process($url) {
    // Adds cursor/pagination parameters to a query
    $cursor = $_GET['cursor'];
    if (!is_numeric($cursor)) {
        $cursor = -1;
    }
    $url .= '?cursor='.$cursor;
    $xml = twitter_process($url);
    $ret = simplexml_load_string($xml)

    return $ret;
}
function twitter\u notf\u页面($query){
$user=$query[1];
如果(!$user){
用户_确保_已验证();
$user=user\u current\u username();
}
$request=API_URL.“statuses/friends/{$user}.xml”;
$tla=列出分页过程($request);
$request=API_URL.“status/followers/{$user}.xml”;
$tl=列出分页过程($request);
$content=“FRIENDS”;
$content.=主题('notf',$tla);
$content.=“

”; $content.=“追随者”; $content.=主题('notf',$tl); 主题(“页面”、“关注者”、“内容”); } 函数列表\u分页\u进程($url){ //将游标/分页参数添加到查询中 $cursor=$_GET['cursor']; 如果(!是数值($cursor)){ $cursor=-1; } $url.='?游标='。$cursor; $xml=twitter\u进程($url); $ret=simplexml\u加载\u字符串($xml) 返回$ret; }
结果-跟进

<?xml version="1.0" encoding="UTF-8"?>
<users_list>
<users type="array">
<user>
  <id>66968592</id>
  <name>DJ Swaggz &#11013;click2fol</name>
  <screen_name>DjSwaggz</screen_name>
</user>
<user>
  <id>288859268</id>
  <name>tegan shanks</name>
  <screen_name>teganxroshanks</screen_name>
  </user></users_list>

66968592
DJ Swaggz⬅;单击2文件夹
DjSwaggz
288859268
特甘小腿
特甘克斯罗斯汉克斯酒店
结果-追随者

<?xml version="1.0" encoding="UTF-8"?>
    <users_list>
    <users type="array">
    <user>
      <id>66968592</id>
      <name>DJ Swaggz &#11013;click2fol</name>
      <screen_name>DjSwaggz</screen_name>
    </user>
      </user></users_list>

66968592
DJ Swaggz⬅;单击2文件夹
DjSwaggz
我想让这个家伙展示(那个不跟在后面的人)


288859268
特甘小腿
特甘克斯罗斯汉克斯酒店
给你:)

循环浏览屏幕名称

foreach($notFollowingMe as $user)
{
    echo $user->screen_name . "\r\n";
}

你能把返回的xml作为一个例子吗?好的,试一下。给我点时间。非常感谢你。我很感激。ThanksNo Problem:),顺便说一句,您发布的示例XML中有错误,标记没有结束标记,我假设您手工编写了示例,而不是twitter的实际输出?(如果输出来自twitter,那就需要注意了)。是的,我是手工写的,字段太多了。我不得不把它剪短。谢谢它很神奇。嘿,但是我如何循环通过[屏幕名称]。我做不到。它一直在给我一些东西,比如10个循环,通过哪些屏幕名称?$NOTME数组中的那些?编辑我的答案,在底部检查。
<?PHP
function get_nonfollowers($followingXml, $followersXml)
{
    $following = simplexml_load_string($followingXml);
    $followers = simplexml_load_string($followersXml);

    $notFollowingMe = array();

    foreach($following->users->user as $f)
    {
        $isFollowingMe = false;
        foreach($followers->users->user as $follower)
        {
            if(strcmp($follower->id, $f->id) == 0)
            {
                $isFollowingMe = true;
                break;
            }
        }
        if(!$isFollowingMe)
            $notFollowingMe[] = $f;
    }
    return $notFollowingMe;
}

$followingXml = <<<EOF
<?xml version="1.0" encoding="UTF-8"?>
<users_list>
    <users type="array">
        <user>
            <id>66968592</id>
            <name>DJ Swaggz &#11013;click2fol</name>
            <screen_name>DjSwaggz</screen_name>
        </user>
        <user>
            <id>288859268</id>
            <name>tegan shanks</name>
            <screen_name>teganxroshanks</screen_name>
        </user>
    </users>
</users_list>
EOF;

$followersXml = <<<EOF
<?xml version="1.0" encoding="UTF-8"?>
<users_list>
    <users type="array">
        <user>
            <id>66968592</id>
            <name>DJ Swaggz &#11013;click2fol</name>
            <screen_name>DjSwaggz</screen_name>
        </user>
    </users>
</users_list>
EOF;

$notFollowingMe = get_nonfollowers($followingXml, $followersXml);
print_r($notFollowingMe);
?>
Array
(
    [0] => SimpleXMLElement Object
    (
        [id] => 288859268
        [name] => tegan shanks
        [screen_name] => teganxroshanks
    )
)
foreach($notFollowingMe as $user)
{
    echo $user->screen_name . "\r\n";
}