Xml uitlezen met SimpelXml en dan array herconstructueren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jos Verra

Jos Verra

06/09/2011 12:07:37
Quote Anchor link
Hallo ik probeer met SimpleXml een xml in te lezen.
En vervolgens hieruit een paar waardes uit op te slaan per vacature in een nieuwe array. Alleen lukt het me niet de pagina blijft wit. Of ik krijg alleen maar -> ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray terug.

Weet iemand wat ik fout doe?

Hierbij de code
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
    ini_set ('display_errors', 1);
    error_reporting (E_ALL);
    
    $feed_url = 'http://rss.jobsearch.monster.com/rssquery.ashx?q=HR&rad_units=km&cy=nl&pp=15&sort=rv.di.dt&baseurl=vacature.monsterboard.nl';
    $feed_url = str_replace(' ', '%20', $feed_url);
    $curl = curl_init();    
    curl_setopt($curl, CURLOPT_URL, $feed_url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 0);
    $xmlString = curl_exec($curl);
    curl_close($curl);
    $xml = simplexml_load_string($xmlString);
        
    $teller = 0;
    $arr = array();
    foreach($xml->channel->item as $key => $val) {        
        $arr .= array(
                    $teller => array(
                        'title' => $val->title,
                        'description' => $val->description,
                        'link' => $val->link,
                        'pubDate' => $val->pubDate
                        )
                    );

        $teller++;
    }

    
    exit($arr);
?>
 
PHP hulp

PHP hulp

19/04/2024 02:22:13
 
- Ariën  -
Beheerder

- Ariën -

06/09/2011 12:13:56
Quote Anchor link
$arr .= is bedoeld voor strings, en niet voor array's...
 
Jos Verra

Jos Verra

06/09/2011 12:27:21
Quote Anchor link
Hoe zorg ik dan dat ik dit krijg

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
Array(
    [0] =>
           title => test,
           description => test
    [1] =>
           title => test,
           description => test
 
 )


etc
 
Vincent Huisman

Vincent Huisman

06/09/2011 12:29:12
Quote Anchor link
$arr[] = array('title' => 'test', 'description' => 'test');
 
Jos Verra

Jos Verra

06/09/2011 12:35:22
Quote Anchor link
Oke krijg ze nu erin maar ik heb alweer dat stomme -> SimpleXMLElemtent object
Kijk maar

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[0] => Array
        (
            [title] => SimpleXMLElement Object
                (
                    [0] => Stagiair(e) HR/Recruitment
                )
 
            [description] => SimpleXMLElement Object
                (
                    [0] => NH-Hoofddorp, De functie D-reizen is sinds jaar en dag d specialist op het gebied van vakantiereizen. D-reizen verkoopt vrijwel alle denkbare vakanties vanuit de vakantiewinkels, maar ook via het Contact Center en D-reizen.nl. Van losse vliegtickets tot complete wereldreizen. Van zonvakantie tot wintersport, van stedentrip tot kampeervakantie. D-reizen is marktleider onder de reisbureaus. Voor ons hoofdkantoor
                )
 
            [link] => SimpleXMLElement Object
                (
                    [0] => http://vacature.monsterboard.nl/Stagiair-e-HR-Recruitment-Vacature-Hoofddorp-Noord-Holland-Nederland-102230073.aspx
                )
 
            [pubDate] => SimpleXMLElement Object
                (
                    [0] => Tue, 06 Sep 2011 04:37:06 GMT
                )
 
        )


Toevoeging op 06/09/2011 13:45:10:

Aantal dingen geprobeerd maar krijg => SimpleXMLElement Object niet weg
 
Kees Schepers

kees Schepers

06/09/2011 14:00:38
Quote Anchor link
Doe het eens typecasten door er (string) voor te zetten?

Vb: echo (string)$xml->element->someOtherElement;
 
Jos Verra

Jos Verra

06/09/2011 14:07:01
Quote Anchor link
Blijft erin staan
 
Kees Schepers

kees Schepers

06/09/2011 14:32:02
Quote Anchor link
Je hebt $arr .= ook wel vervangen al met $arr[] = ? En geen exit($arr) maar print_r of var_dump($arr);
 
Jos Verra

Jos Verra

06/09/2011 15:19:56
Quote Anchor link
Ja dat heb ik allang gedaan. Maar ik zie dat SimpleXMLElement Object er nog in. Men vraag is kan ik dat wegkrijgen?
 
Kees Schepers

kees Schepers

06/09/2011 15:50:15
Quote Anchor link
Ja dat je het gedaan heb geloof ik graag, maar wat was de output? Zonder informatie kunnen wij je ook niet helpen.. Dus ben benieuwd hoe die var_dump eruit zag.
 
- -

- -

06/09/2011 15:56:25
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
    foreach($xml->channel->item as $key => $val) {        
        $arr[] = array(
                        'title' => $val->title,
                        'description' => $val->description,
                        'link' => $val->link,
                        'pubDate' => $val->pubDate
                    );
    }


Is dit wat?
 

06/09/2011 16:19:13
Quote Anchor link
Waarom doe je een cURL? Misschien moet je deze video maar eens aandachtig bekijken.

http://www.youtube.com/watch?v=MVeeIsFtJC4&feature=fvsr
Gewijzigd op 06/09/2011 16:19:52 door
 
Jos Verra

Jos Verra

06/09/2011 18:25:55
Quote Anchor link
Ik heb nu dit

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
    ini_set ('display_errors', 1);
    error_reporting (E_ALL);
    
    $feed_url = 'http://rss.jobsearch.monster.com/rssquery.ashx?q=HR&rad_units=km&cy=nl&pp=15&sort=rv.di.dt&baseurl=vacature.monsterboard.nl';
    $feed_url = str_replace(' ', '%20', $feed_url);
    $curl = curl_init();    
    curl_setopt($curl, CURLOPT_URL, $feed_url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 0);
    $xmlString = curl_exec($curl);
    curl_close($curl);
    $xml = simplexml_load_string($xmlString);
        
    $arr = array();
    foreach($xml->channel->item as $key => $val) {        
        $arr[] = array(
                        'title' => $val->title[0],
                        'description' => $val->description,
                        'link' => $val->link,
                        'pubDate' => $val->pubDate
                    );
    }

    
    print_r($arr);
?>


En het volgende is output

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Array
(
    [0] => Array
        (
            [title] => SimpleXMLElement Object
                (
                    [0] => HR Medewerker - PT
                )
 
            [description] => SimpleXMLElement Object
                (
                    [0] => NB-Den Bosch, Algemeen: Functie: HR Medewerker - PT Organisatie: Groeiende onderneming in Den Bosch Functie omschrijving: Je ondersteunt en faciliteert de HR managers en- adviseurs Je realiseert de HR-agenda Je verbetert processen en instrumenten Taken en verantwoordelijkheden: Je werkzaamheden bestaan uit het ontwikkelen van personeelsregelingen Je beheert HR-formats Je legt werkprocessen (in-, door- en uitstr
                )
 
            [link] => SimpleXMLElement Object
                (
                    [0] => http://vacature.monsterboard.nl/HR-Medewerker-PT-Vacature-Den-Bosch-Noord-Brabant-Nederland-102234284.aspx
                )
 
            [pubDate] => SimpleXMLElement Object
                (
                    [0] => Tue, 06 Sep 2011 08:31:33 GMT
                )
 
        )
 
    [1] => Array
        (
            [title] => SimpleXMLElement Object
                (
                    [0] => Sap HR Medior en Senior Rotterdam Intern
                )
 
            [description] => SimpleXMLElement Object
                (
                    [0] => SAP HR Rotterdam intern SAP greenfield, * Vaste standplaats Rotterdam * Sap Competence centre in opbouw * Internationale roll outs * Flexibile werktijden; parttime of thuis werken behoort tot de mogelijkheden * Salaris:  50.000 -  70.000 * 30 vakantiedagen Toonaangevende organisatie binnen haar segment. Dit bedrijf telt wereldwijd ruim 30.000 werknemers. Het hoofdkantoor is gevestigd in Rotterdam en telt ruim 600 werknemers. De huidig
                )
 
            [link] => SimpleXMLElement Object
                (
                    [0] => http://vacature.monsterboard.nl/Sap-HR-Medior-en-Senior-Rotterdam-Intern-Vacature-SAP-HR-Rotterdam-intern-SAP-greenfield-Nederland-102232221.aspx
                )
 
            [pubDate] => SimpleXMLElement Object
                (
                    [0] => Tue, 06 Sep 2011 07:06:59 GMT
                )
 
        )


Toevoeging op 06/09/2011 18:29:51:

Van de curl weet ik niet zo kreeg ik het
Gewijzigd op 06/09/2011 21:18:05 door Jos Verra
 
- -

- -

07/09/2011 10:26:52
Quote Anchor link
Dit werkt, zoals Kees al eerder zei...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
        $arr[] = array(
                        'title' => (string)$val->title[0],
                        'description' => (string)$val->description,
                        'link' => (string)$val->link,
                        'pubDate' => (string)$val->pubDate
                    );
Gewijzigd op 07/09/2011 10:28:00 door - -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.