Avatar billede Slettet bruger
08. april 2006 - 14:49 Der er 19 kommentarer og
2 løsninger

XML og PHP

Hej eksperter!
Har PHP specielle functioner til at håndtere XML?
Avatar billede coderdk Praktikant
08. april 2006 - 15:18 #2
PHP5 har f.eks. http://dk.php.net/simplexml
Avatar billede Slettet bruger
08. april 2006 - 15:27 #3
Kunne du give et eksempel?
Hvis jeg har en xml-fil:

[cykler.xml]
<cykler>
    <cykel model="SuperBike" class="City bike">
        Here goes a description of the city bike...
    </cykel>
    <cykel model="FreeStyle" class="Mountain bike">
        Here goes a description of the mauntain bike...
    </cykel>
</cykler>
[/cykler.xml]

Hvad skal jeg så skrive for at sætte $aktuelBeskrivelse til indholdet af cuklen hvor model="Superbike"?
Avatar billede Slettet bruger
08. april 2006 - 15:28 #4
* Sidste linie; 'cuklen': 'cyklen'
Avatar billede coderdk Praktikant
08. april 2006 - 15:32 #5
Kører du PHP5?
Avatar billede coderdk Praktikant
08. april 2006 - 15:39 #6
Anyway, hvis du bruger PHP5 kan du gøre sådan:

<?php

    $xmlfil = <<<STOP
<cykler>
    <cykel model="SuperBike" class="City bike">
        Here goes a description of the city bike...
    </cykel>
    <cykel model="FreeStyle" class="Mountain bike">
        Here goes a description of the mauntain bike...
    </cykel>
</cykler>
STOP;

    $xml = simplexml_load_string($xmlfil);
    $result = $xml->xpath("//cykel[@model='SuperBike']");
    if ( count( $result ) > 0 )
    {
        echo $result[0];       
    }

?>
Avatar billede Slettet bruger
08. april 2006 - 16:36 #7
Men hvad, hvis den skal loade fra en fil???
Gør den det i dit eksempel?
Avatar billede swiatecki Novice
08. april 2006 - 17:07 #8
<?php

    $xmlfil = $xml->open("dtdexample.xml");

    $xml = simplexml_load_string($xmlfil);
    $result = $xml->xpath("//cykel[@model='SuperBike']");
    if ( count( $result ) > 0 )
    {
        echo $result[0];     
    }

?>

måske ?
Avatar billede coderdk Praktikant
08. april 2006 - 17:27 #9
<?php

    $xml = simplexml_load_file("dinfil.xml");
    $result = $xml->xpath("//cykel[@model='SuperBike']");
    if ( count( $result ) > 0 )
    {
        echo $result[0];     
    }

?>
Avatar billede Slettet bruger
08. april 2006 - 18:11 #10
Det lyder rigtigt... Prøver lige!
Avatar billede Slettet bruger
08. april 2006 - 18:15 #11
!!!

Fatal error: Call to undefined function: simplexml_load_file() in c:\program files\easyphp1-8\www\xml\index.php on line 3

!!!
Avatar billede coderdk Praktikant
08. april 2006 - 18:24 #12
Du kører ikke PHP 5?
Avatar billede Slettet bruger
08. april 2006 - 18:33 #13
Jeg har ikke publiseret det på WWW.
Jeg bruger EasyPHP!
Avatar billede coderdk Praktikant
08. april 2006 - 18:48 #14
Avatar billede coderdk Praktikant
08. april 2006 - 18:48 #15
(How to upgrade to PHP5)
Avatar billede Slettet bruger
08. april 2006 - 19:00 #16
Nu er PHP 5.1.2 installeret...
Men fejlen er der stadig!

Den sagde efter installationen:
'Error trying access the local web service: GetObject failed. You will need to manually configure IIS via the management console.'

Har det noget med det at gøre?
Avatar billede Slettet bruger
08. april 2006 - 19:02 #17
Hmm...
Den sagde godt nok inden, jeg downloadede installationsfilen, at jeg selv skulle hente og udpakke programfilerne til den rigtige mappe...
Prøve lige det.
Avatar billede coderdk Praktikant
08. april 2006 - 19:05 #18
IIS?! EasyPHP har da en Apache webserver?! Kender ikke noget til det, så jeg kan ikke hjælpe lige med det :)
Avatar billede Slettet bruger
08. april 2006 - 19:12 #19
Jeg fatter heller ingenting...
Det plejer bare at fungere upåklageligt - men pludselig bliver det hele avanceret.
Nå, det sidste jeg prøvede virkede heller ikke.
MØG!
Men tak for hjælpen - mon ikke koden dur, når den publiseres på WWW med almindeligt PHP 5?
Avatar billede coderdk Praktikant
08. april 2006 - 19:24 #20
Jo, hvis det er PHP 5 - Jeg har testet det :)
Avatar billede Slettet bruger
08. april 2006 - 20:06 #21
Okaj...
Det er da godt :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester