/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hvordan "grabber" man XML-indhold?
Fra : Ace


Dato : 15-03-09 23:37

Hejsa

Jeg er total håbløs hvad det her angår, men vil gerne "grabbe"
specifikt indhold fra et xml-dokument.
Det drejer sig i dette tilfælde om ARN's playliste
(http://www.radionet.dk/stream/anr/Anr_history.xml), hvorfra jeg
ønsker at hente indholdet fra <ARTI> og <TITLE> i dokumentet.

Har Googlet mig frem til at man bl.a. kan gøre brug af noget der
hedder cURL, men efter at have forsøgt at sætte min computer op
til det for tredje gang uden held, ser jeg mig nu om efter en
anden løsning... har siden hen fundet ud af, at man vidst også
kan gøre brug af noget kaldet simplexml_load_file. Har prøve at
benytte et par php-scripts med dette men det virker
tilsyneladende heller ikke :(

De to scripts jeg har forøsgt mig med:
<?php
// The file test.xml contains an XML document with a root element
// and at least an element /[root]/title.

if
(file_exists('http://www.radionet.dk/stream/anr/Anr_history.xml')
) {
$xml =
simplexml_load_file('http://www.radionet.dk/stream/anr/Anr_histor
y.xml');

print_r($xml);
} else {
exit('Failed to open the XML-file');
}
?>

og...

<?php
if
(file_exists('http://www.radionet.dk/stream/anr/Anr_history.xml')
)
{
$xml =
simplexml_load_file('http://www.radionet.dk/stream/anr/Anr_histor
y.xml');
var_dump($xml);
}else
{
exit('Error');
}
?>

Mit spørgsmål er i bund og grund således; hvis nogle af jer
skulle grabbe indholdet af ovennævnte tag's i Anr_history.xml via
PHP, hvordan ville I så gøre det? (gerne et script-eksempel)

Venlig hilsen
Ace

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Dan Storm (16-03-2009)
Kommentar
Fra : Dan Storm


Dato : 16-03-09 00:02

Ace skrev:
> Hejsa
> [SNIP]

Det er ikke nemt at sidde og gætte sig til hvilke fejl du får eller hvad
du oplever der ikke virker.
Nu siger du godt nok at du ikke kan 'sætte din computer op' med cURL.
Betyder det at du ikke ved hvad du reelt har til rådighed?

Anyway, at bruge file_exists() på en URL giver ikke meget mening, så
allerede der vil du nå dine exit()'s.

Uden det check ville du sikkert have fået noget mere at arbejde videre med.

> Mit spørgsmål er i bund og grund således; hvis nogle af jer
> skulle grabbe indholdet af ovennævnte tag's i Anr_history.xml via
> PHP, hvordan ville I så gøre det? (gerne et script-eksempel)
>

<?php
   $xmlUrl = "http://www.radionet.dk/stream/anr/Anr_history.xml";
   $xml = simplexml_load_file($xmlUrl);
   
   foreach($xml->PlayInfo as $playInfo)
   {
      echo $playInfo->ARTI."\n";
      echo $playInfo->TITLE."\n";
      
   }
?>


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Ace (16-03-2009)
Kommentar
Fra : Ace


Dato : 16-03-09 19:15

Dan Storm skrev:

> Det er ikke nemt at sidde og gætte sig til hvilke fejl du får eller hvad
> du oplever der ikke virker.
> Nu siger du godt nok at du ikke kan 'sætte din computer op' med cURL.
> Betyder det at du ikke ved hvad du reelt har til rådighed?
>
> Anyway, at bruge file_exists() på en URL giver ikke meget mening, så
> allerede der vil du nå dine exit()'s.
>
> Uden det check ville du sikkert have fået noget mere at arbejde videre
med.
> <?php
>    $xmlUrl = "http://www.radionet.dk/stream/anr/Anr_history.xml";
>    $xml = simplexml_load_file($xmlUrl);
>    
>    foreach($xml->PlayInfo as $playInfo)
>    {
>       echo $playInfo->ARTI."\n";
>       echo $playInfo->TITLE."\n";
>       
>    }
> ?>

Dan du er et geni! :D *thumbs up*

Tænkte på om det mon er muligt at modificere scriptet således, at det er
indholdet fra specifikke tags man grabber? Eksempelvis indholdet af det
første ARTI- og TITLE-tag i XML-dokumentet.

Venligst
Ace

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Dan Storm (16-03-2009)
Kommentar
Fra : Dan Storm


Dato : 16-03-09 21:54

Ace skrev:

> Tænkte på om det mon er muligt at modificere scriptet således, at det er
> indholdet fra specifikke tags man grabber? Eksempelvis indholdet af det
> første ARTI- og TITLE-tag i XML-dokumentet.

<?php
   $xmlUrl = "http://www.radionet.dk/stream/anr/Anr_history.xml";
   $xml = simplexml_load_file($xmlUrl);

   echo $xml->PlayInfo[0]->ARTI."\n";
   echo $xml->PlayInfo[0]->TITLE."\n";
?>

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Ace (17-03-2009)
Kommentar
Fra : Ace


Dato : 17-03-09 17:22

Dan Storm skrev:
> <?php
>    $xmlUrl = "http://www.radionet.dk/stream/anr/Anr_history.xml";
>    $xml = simplexml_load_file($xmlUrl);
>
>    echo $xml->PlayInfo[0]->ARTI."\n";
>    echo $xml->PlayInfo[0]->TITLE."\n";
> ?>

Arh doh!, det var halvpinligt :D Tusind tak for hjælpen.

Er dog siden i går snublet over lidt af en krydret én :S Jeg ville forsøge,
at gøre brug at dit fantastiske script, med Skala.fm's playliste. Men selvom
det tilsyneladende er en XML-fil, hedder url'en
http://www.radiostreaming.dk/skalafm/skalameta.php (altså ender på .php i
stedet for .xml) og scriptet echo'er heller ikke noget selvom jeg har ændret
echo $xml->PlayInfo[0]-> til curArtist."\n"; og curTitle."\n"; - har du en
idé om hvad man kan stille op i dette tilfælde?

Venligst
Ace

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Ace (17-03-2009)
Kommentar
Fra : Ace


Dato : 17-03-09 18:24

Ace wrote in dk.edb.internet.webdesign.serverside.php:
> Dan Storm skrev:
> > <?php
> >    $xmlUrl = "http://www.radionet.dk/stream/anr/Anr_history.xml";
> >    $xml = simplexml_load_file($xmlUrl);
> >
> >    echo $xml->PlayInfo[0]->ARTI."\n";
> >    echo $xml->PlayInfo[0]->TITLE."\n";
> > ?>
>
> Arh doh!, det var halvpinligt :D Tusind tak for hjælpen.
>
> Er dog siden i går snublet over lidt af en krydret én :S Jeg ville forsøge,
> at gøre brug at dit fantastiske script, med Skala.fm's playliste. Men selvom
> det tilsyneladende er en XML-fil, hedder url'en
> http://www.radiostreaming.dk/skalafm/skalameta.php (altså ender på .php i
> stedet for .xml) og scriptet echo'er heller ikke noget selvom jeg har ændret
> echo $xml->PlayInfo[0]-> til curArtist."\n"; og curTitle."\n"; - har du en
> idé om hvad man kan stille op i dette tilfælde?

... UPS! Bare glem det... havde stadig PlayInfo til at stå som $playInfo, og
skulle selvfølgelig bare ændre det til SongInfo som indeholder curArtist og
curTitle .. silly me :D

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177458
Tips : 31962
Nyheder : 719565
Indlæg : 6408169
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste