调整Php-xml代码只需拉出三个元素,而不是全部

时间:2022-10-29 20:24:45

UPDATED CODE

更新的代码

try{
    function processLink( $link , $appendArr ){
    ## gets url from database as outlined above.
        $xmlUrl = $link;
        #Loads the url above into XML    
        $ConvertToXml = simplexml_load_file($xmlUrl);
        # -> Setup XML
        $appendArr[] = $ConvertToXml->channel->item;
    }
    #Connect to DB
    require_once '../../src/conn/dbc.php';
    $dbconn = new PDO('mysql:host=localhost;port=3306;dbname=thedb',$db_user,$db_pass,array(PDO::ATTR_PERSISTENT => true));
    $q = $dbconn->prepare("SELECT FW_ArtSrcLink FROM FW_ArtSrc WHERE OneSet=:OneSet and leagID = :TheLeagueID");
    $q->execute(array(':OneSet' => 1, ':TheLeagueID' => 14));    # SET LEAGUE HERE.
    $result = $q->fetchAll();
    $newsStory = array();
        $title = $newsStory->title;
        $link  = $newsStory->link;
    foreach ($result as $value ){
            if ( is_array($value) ){
                foreach ( $value as $secondValue ){
                    processLink($secondValue , &$newsStory);
                }

                continue;
        }

        processLink($value , $newsStory);

    }                  
    //print_r($newsStory);

        echo 'TITLE: '.$title;
        echo 'LINK'.$link;
}

How do I modify my code to ONLY grab the [title] and [link] ? - which means its not outputting anything::

如何修改我的代码才能获取[title]和[link]? - 这意味着它不输出任何东西::

It currently outputs: 调整Php-xml代码只需拉出三个元素,而不是全部

它目前输出:

1 个解决方案

#1


1  

The answer is at the bottom of the code block in the commented section.

答案位于注释部分代码块的底部。

# Source of Article Info-->
#           $SrcTitle=$newsStory[$i]->title;
#           $SrcLink=$newsStory[$i]->link;

Using print_r($newsStory); at the bottom will print everything inside $newsStory array. To print out just title and link, access the array using the example provided in the code. Your output appears to display the 4th news story of the object. If you want to print them all, you need a loop at the end.

使用print_r($ newsStory);在底部将打印$ newsStory数组中的所有内容。要打印出标题和链接,请使用代码中提供的示例访问该数组。您的输出似乎显示对象的第4个新闻报道。如果要打印所有内容,最后需要一个循环。

for($i=0; $i < count($newsStory); $i++){
    $title = $newsStory[$i]->title;
    $link  = $newsStory[$i]->link;

    //use this next line if you just want to test and see output.
    echo "<p>Newstory $i: Title:$title  Link:$link </p>";

    //use this to provide to a user
    echo "<p><a href='$link'>$title</a></p>";
}

#1


1  

The answer is at the bottom of the code block in the commented section.

答案位于注释部分代码块的底部。

# Source of Article Info-->
#           $SrcTitle=$newsStory[$i]->title;
#           $SrcLink=$newsStory[$i]->link;

Using print_r($newsStory); at the bottom will print everything inside $newsStory array. To print out just title and link, access the array using the example provided in the code. Your output appears to display the 4th news story of the object. If you want to print them all, you need a loop at the end.

使用print_r($ newsStory);在底部将打印$ newsStory数组中的所有内容。要打印出标题和链接,请使用代码中提供的示例访问该数组。您的输出似乎显示对象的第4个新闻报道。如果要打印所有内容,最后需要一个循环。

for($i=0; $i < count($newsStory); $i++){
    $title = $newsStory[$i]->title;
    $link  = $newsStory[$i]->link;

    //use this next line if you just want to test and see output.
    echo "<p>Newstory $i: Title:$title  Link:$link </p>";

    //use this to provide to a user
    echo "<p><a href='$link'>$title</a></p>";
}