[php]: attributes()
Ik snap niet hoe ik die attributes() moet toepassen, na wat google werk en geen reactie op mijn vraag besloot ik maar een vraag apart te maken.
php:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$json = json_decode(file_get_contents('http://iphone-api.uitzendinggemist.nl/v1/episodes/search/%20'));
foreach ($json as $object) {
$xml = simplexml_load_string(file_get_contents('http://pi.omroep.nl/info/stream/aflevering/'. $object->nebo_id . '/'. strtoupper( md5('' . $object->nebo_id .'|NPOUGSL 1.0'))));
foreach ($xml as $object) {
}
echo ''. $object->streams->stream->attributes()->compressie_kwaliteit="bb" .'';
}
?>
$json = json_decode(file_get_contents('http://iphone-api.uitzendinggemist.nl/v1/episodes/search/%20'));
foreach ($json as $object) {
$xml = simplexml_load_string(file_get_contents('http://pi.omroep.nl/info/stream/aflevering/'. $object->nebo_id . '/'. strtoupper( md5('' . $object->nebo_id .'|NPOUGSL 1.0'))));
foreach ($xml as $object) {
}
echo ''. $object->streams->stream->attributes()->compressie_kwaliteit="bb" .'';
}
?>
xml:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<streams afleveringid="15082965">
<stream compressie_formaat="mov" compressie_kwaliteit="bb">
<streamurl>
http://odi.omroep.nl/video/embedplayer/h264_bb/f6fe971e60d5444be969f7271f846beb/50e34eff/POW_00534592/?type=http&
</streamurl>
</stream>
<stream compressie_formaat="mov" compressie_kwaliteit="sb">
<streamurl>
http://odi.omroep.nl/video/embedplayer/h264_sb/27773f4f8a482a7b3b61147a0df984ae/50e34eff/POW_00534592/?type=http&
</streamurl>
</stream>
<stream compressie_formaat="mov" compressie_kwaliteit="std">
<streamurl>
http://odi.omroep.nl/video/embedplayer/h264_std/7687461f7bf9c24dc1cf02e20f4ca965/50e34eff/POW_00534592/?type=http&
</streamurl>
</stream>
<stream compressie_formaat="mov" compressie_kwaliteit="bb">
<streamurl>
http://odi.omroep.nl/video/embedplayer/h264_bb/f6fe971e60d5444be969f7271f846beb/50e34eff/POW_00534592/?type=http&
</streamurl>
</stream>
<stream compressie_formaat="mov" compressie_kwaliteit="sb">
<streamurl>
http://odi.omroep.nl/video/embedplayer/h264_sb/27773f4f8a482a7b3b61147a0df984ae/50e34eff/POW_00534592/?type=http&
</streamurl>
</stream>
<stream compressie_formaat="mov" compressie_kwaliteit="std">
<streamurl>
http://odi.omroep.nl/video/embedplayer/h264_std/7687461f7bf9c24dc1cf02e20f4ca965/50e34eff/POW_00534592/?type=http&
</streamurl>
</stream>
ik kom niet uit dat laatst:
echo ''. $object->streams->stream->attributes()->compressie_kwaliteit="bb" .'';
ik snap niet wat hier fout gaat.
ik weet dat het in de attributes() zit maar wat gaat er fout
als ik dit doe gaat het ook fout:
echo ''. $object->streams->stream->attributes(compressie_kwaliteit="bb") .'';
Ik wil geen voorgekauwde codes meer omdat ik serieus heb besloten te leren scripte met php, graag alleen een voorbeeld hoe je die attributes() moet toepassen en dan het liefst met een anderen code dus niet mijn code. Ik heb mijn code er bij gezet zodat jullie wel kunnen zien wat er fout gaat.
Alvast bedankt
Toevoeging op 08/01/2013 22:25:39:
Ik zie trouwens nu pas dat ik twee keer $object heb gebruikt is dat fout? Nee toch want ik sluit hem af met }?
$object bevat al het root element (dus streams), verwijder die dus uit het selecteren van elementen.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$json = json_decode(file_get_contents('http://iphone-api.uitzendinggemist.nl/v1/episodes/search/%20'));
foreach ($json as $object) {
$xml = simplexml_load_string(file_get_contents('http://pi.omroep.nl/info/stream/aflevering/'. $object->nebo_id . '/'. strtoupper( md5('' . $object->nebo_id .'|NPOUGSL 1.0'))));
foreach ($xml as $object) {
}
echo ''. $object->stream->attributes()->compressie_kwaliteit= 'bb' ->streamurl .'';
}
?>
$json = json_decode(file_get_contents('http://iphone-api.uitzendinggemist.nl/v1/episodes/search/%20'));
foreach ($json as $object) {
$xml = simplexml_load_string(file_get_contents('http://pi.omroep.nl/info/stream/aflevering/'. $object->nebo_id . '/'. strtoupper( md5('' . $object->nebo_id .'|NPOUGSL 1.0'))));
foreach ($xml as $object) {
}
echo ''. $object->stream->attributes()->compressie_kwaliteit= 'bb' ->streamurl .'';
}
?>
Waar komt ->streamurl nou ineens vandaa? Je hebt het object ($obj->stream->attributes()->compressie_kwaliteit) en daar stel je een waarde in (.. = 'bb...'). Dan is die ->streamurl helemaal misplaatst.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$json = json_decode(file_get_contents('http://iphone-api.uitzendinggemist.nl/v1/episodes/search/%20'));
foreach ($json as $objectjson) {
$xml = simplexml_load_string(file_get_contents('http://pi.omroep.nl/info/stream/aflevering/'. $objectjson->nebo_id . '/'. strtoupper( md5('' . $objectjson->nebo_id .'|NPOUGSL 1.0'))));
foreach ($xml as $objectxml) {
}
echo ''. $objectxml->stream->attributes("bb")->compressie_kwaliteit .'';
}
?>
$json = json_decode(file_get_contents('http://iphone-api.uitzendinggemist.nl/v1/episodes/search/%20'));
foreach ($json as $objectjson) {
$xml = simplexml_load_string(file_get_contents('http://pi.omroep.nl/info/stream/aflevering/'. $objectjson->nebo_id . '/'. strtoupper( md5('' . $objectjson->nebo_id .'|NPOUGSL 1.0'))));
foreach ($xml as $objectxml) {
}
echo ''. $objectxml->stream->attributes("bb")->compressie_kwaliteit .'';
}
?>
werkt ook niet...
Gewijzigd op 09/01/2013 18:20:12 door Keizer Webdesign
Hoe ziet je XML er uit? Heb je een linkje?
Gewijzigd op 09/01/2013 18:23:07 door - Ariën -
RobertJan Keizer op 08/01/2013 22:23:42:
xml:
xml:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<streams afleveringid="15082965">
<stream compressie_formaat="mov" compressie_kwaliteit="bb">
<streamurl>
http://odi.omroep.nl/video/embedplayer/h264_bb/f6fe971e60d5444be969f7271f846beb/50e34eff/POW_00534592/?type=http&
</streamurl>
</stream>
<stream compressie_formaat="mov" compressie_kwaliteit="sb">
<streamurl>
http://odi.omroep.nl/video/embedplayer/h264_sb/27773f4f8a482a7b3b61147a0df984ae/50e34eff/POW_00534592/?type=http&
</streamurl>
</stream>
<stream compressie_formaat="mov" compressie_kwaliteit="std">
<streamurl>
http://odi.omroep.nl/video/embedplayer/h264_std/7687461f7bf9c24dc1cf02e20f4ca965/50e34eff/POW_00534592/?type=http&
</streamurl>
</stream>
<stream compressie_formaat="mov" compressie_kwaliteit="bb">
<streamurl>
http://odi.omroep.nl/video/embedplayer/h264_bb/f6fe971e60d5444be969f7271f846beb/50e34eff/POW_00534592/?type=http&
</streamurl>
</stream>
<stream compressie_formaat="mov" compressie_kwaliteit="sb">
<streamurl>
http://odi.omroep.nl/video/embedplayer/h264_sb/27773f4f8a482a7b3b61147a0df984ae/50e34eff/POW_00534592/?type=http&
</streamurl>
</stream>
<stream compressie_formaat="mov" compressie_kwaliteit="std">
<streamurl>
http://odi.omroep.nl/video/embedplayer/h264_std/7687461f7bf9c24dc1cf02e20f4ca965/50e34eff/POW_00534592/?type=http&
</streamurl>
</stream>
Toevoeging op 09/01/2013 18:35:44:
Dit zou dan bb moeten tonen? Je wil deze toch opvragen, dus waarom als je hem al weet, hem gebruiken in je object?
Gewijzigd op 09/01/2013 18:38:57 door - Ariën -
Ik haal uit een json code een soort xml link en daar ben ik nu mee bezig. Ik weet niet hoe ik dat doe met attributes() en als u zegt string dan weet ik wel wat dat is maar niet waar dat op slaat. Als ik logisch na denk dan is het toch attributes('bb')?
Je wilt toch de waarde van 'compressie_kwaliteit' ophalen?
Ja en die moet bb zijn niet sb ofzo
Dit zou denk ik wel moeten werken. Vervolgens kan je met een if-statement nog wel wat leuks doen.
Gewijzigd op 09/01/2013 19:21:03 door - Ariën -
kijk dit is mijn site http://gemist.cs-hosting.nl/ug.php
die links wil ik uit lezen met simple xml
bijv. http://pi.omroep.nl/info/stream/aflevering/15088554/8472485BE53E4DAEBC89FE14744CFFEF
daar uit moet ik halen <streams> -> <compressie_formaat="wmv" compressie_kwaliteit="bb"> -> <streamurl>
laat zien: http://odi.omroep.nl/video/embedplayer/wmv_bb/d3025e5a7db184d97536e3c903bb161e/50edb94e/POW_00559329/?type=asx
Gewijzigd op 09/01/2013 19:39:27 door Keizer Webdesign
je kan toch gewoon $objectxml->stream->streamurl gebruiken?
XML:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<stream compressie_formaat="wmv" compressie_kwaliteit="bb">
...
<stream compressie_formaat="wvc1" compressie_kwaliteit="std">
...
<stream compressie_formaat="mov" compressie_kwaliteit="std">
...
<stream compressie_formaat="mov" compressie_kwaliteit="sb">
...
<stream compressie_formaat="mov" compressie_kwaliteit="bb">
...
<stream compressie_formaat="wmv" compressie_kwaliteit="sb">
...
<stream compressie_formaat="wvc1" compressie_kwaliteit="std">
...
<stream compressie_formaat="mov" compressie_kwaliteit="std">
...
<stream compressie_formaat="mov" compressie_kwaliteit="sb">
...
<stream compressie_formaat="mov" compressie_kwaliteit="bb">
...
<stream compressie_formaat="wmv" compressie_kwaliteit="sb">
deze zien er toch allemaal heel verschillend uit of niet?
waar moet ik dit nou plaatsen:
<stream compressie_formaat="wmv" compressie_kwaliteit="bb">
Dat is je XML.... Die lees je uit.
ja dat snap ik maar hoe lees ik compressie_formaat="wmv" compressie_kwaliteit="bb" uit?
Je kan dan:
gebruiken.
Deze opslaan in een variabele en dan kan je met een if-statement controleren of jouw waarde (bijv. bb) erin zit.
http://gemist.cs-hosting.nl/ug.php
Fout:
Code (php)
1
Warning: main() [function.main]: Node no longer exists in /home/robkeizer/public_html/ug.php on line 15
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$json = json_decode(file_get_contents('http://iphone-api.uitzendinggemist.nl/v1/episodes/search/%20'));
foreach ($json as $objectjson) {
$xml = simplexml_load_string(file_get_contents('http://pi.omroep.nl/info/stream/aflevering/'. $objectjson->nebo_id . '/'. strtoupper( md5('' . $objectjson->nebo_id .'|NPOUGSL 1.0'))));
foreach ($xml as $objectxml) {
}
echo $objectxml->stream->attributes()->compressie_kwaliteit;
}
?>
$json = json_decode(file_get_contents('http://iphone-api.uitzendinggemist.nl/v1/episodes/search/%20'));
foreach ($json as $objectjson) {
$xml = simplexml_load_string(file_get_contents('http://pi.omroep.nl/info/stream/aflevering/'. $objectjson->nebo_id . '/'. strtoupper( md5('' . $objectjson->nebo_id .'|NPOUGSL 1.0'))));
foreach ($xml as $objectxml) {
}
echo $objectxml->stream->attributes()->compressie_kwaliteit;
}
?>
Gewijzigd op 09/01/2013 21:46:15 door Keizer Webdesign