xml ja php

minulla on seuraavanlainen xml-tiedosto:

Jaska Jokunen
1999
5000


Aku Ankka
2007
255000


Sitten kun parsin PHP:llä tuon xml-tiedoston, niin tulostus:

print "XML-dokumentin sisältö";
print "Omistaja: $omistaja";
print "Vuosimalli: $vuosimalli";
print "Hinta: $hinta";

tulostaa tiedot tyyliin:
Omistaja:JaskaJokunenAkuAnkka

Vuosimalli:
19992007

Hinta:500025500

Eli miten noi saisi tulostettua niin, että tuo olisi selkeämpi?
Eli Omistaja: Vuosimalli: Hinta: tulisivat kahteen kertaan, toisessa tiedot Jaska Jokusesta ja toisessa Aku Ankasta...?
15338
Äänestä

Muut lukivat myös

Vastaukset 15

Vanhimmat

Itse tekisin vaikka näin sen:

$xml = simplexml_load_file("xmltiedosto.xml");

foreach ($xml -> auto as $automuuttuja) {
echo 'Omistaja :' . $automuuttuja -> omistaja;
echo 'Vuosimalli :' . $automuuttuja -> vuosimalli;
echo 'Hinta :' . $automuuttuja -> hinta;
}

Äänestä
  • Eli ei käy minun tapauksessani tuo, koska SimpleXML taitanee olla vasta PHP5:ssä...

    Äänestä

  • Mitä jos tuo toinen omistaja onkin Jaska Mäkynen? Tulee kummallinen nimi: Jaska Mäkynen

    Äänestä

  • Ei alkup. kirjoitti:

    Mitä jos tuo toinen omistaja onkin Jaska Mäkynen? Tulee kummallinen nimi: Jaska Mäkynen

    eli laitat niiden tilalla ä ja ö

    Äänestä

  • cheese_ kirjoitti:

    eli laitat niiden tilalla ä ja ö

    Minkä ihmeen takia sen pitää ylipäätään mennä muuttamaan oikeat merkit vääriksi?

    Äänestä

  • Ei alkup. kirjoitti:

    Minkä ihmeen takia sen pitää ylipäätään mennä muuttamaan oikeat merkit vääriksi?

    osaa ä:tä ja ö:tä niin onko se nyt niin ihme? :D
    mutta ootko saanut ratkaisua alkup. kysymykseen?

    Äänestä

  • amerikkalaisetkaan kirjoitti:

    osaa ä:tä ja ö:tä niin onko se nyt niin ihme? :D
    mutta ootko saanut ratkaisua alkup. kysymykseen?

    Kyllä minä sain sen toimimaan mitä alkuperäinen halusi. Mutta noi ääkköset nyt jumittaa mulla.

    nimim. varsin noviisi php:ssä ja vielä noviisimpi xml:ssä

    Äänestä

  • Ei alkup. kirjoitti:

    Kyllä minä sain sen toimimaan mitä alkuperäinen halusi. Mutta noi ääkköset nyt jumittaa mulla.

    nimim. varsin noviisi php:ssä ja vielä noviisimpi xml:ssä

    SimpleXML:lläkö? vai miten?

    Äänestä

  • toimimaan? kirjoitti:

    SimpleXML:lläkö? vai miten?

    ------ auto.xml -----



    Autoja

       Jaska Mäkynen
       1999
       5000


       Aku Ankka
       2007
       255000






    ----- lueautot.php -----

    auto as $automuuttuja) {
       echo "" . $automuuttuja -> omistaja . "\n";
       echo "" . $automuuttuja -> vuosimalli . "\n";
       echo "" . $automuuttuja -> hinta . "\n\n";
       }

    echo "";
    ?>

    Äänestä

  • Ei alkup. kirjoitti:

    ------ auto.xml -----



    Autoja

       Jaska Mäkynen
       1999
       5000


       Aku Ankka
       2007
       255000






    ----- lueautot.php -----

    auto as $automuuttuja) {
       echo "" . $automuuttuja -> omistaja . "\n";
       echo "" . $automuuttuja -> vuosimalli . "\n";
       echo "" . $automuuttuja -> hinta . "\n\n";
       }

    echo "";
    ?>

    En sitten tiedä miten tehtäisiin nelosella.

    Äänestä

  • Ei alkup. kirjoitti:

    En sitten tiedä miten tehtäisiin nelosella.

    kokeillut siihen ä ja ö ongelmaan ereg_replace funktiota? (siis jos ei se edellinen toiminut...)

    Äänestä


  • Ei alkup. kirjoitti:

    ------ auto.xml -----



    Autoja

       Jaska Mäkynen
       1999
       5000


       Aku Ankka
       2007
       255000






    ----- lueautot.php -----

    auto as $automuuttuja) {
       echo "" . $automuuttuja -> omistaja . "\n";
       echo "" . $automuuttuja -> vuosimalli . "\n";
       echo "" . $automuuttuja -> hinta . "\n\n";
       }

    echo "";
    ?>

    haetaan esimerkiksi tuolta:
    http://www.yle.fi/uutiset/rss/paauutiset.xml

    itse yritin tuota edellä mainuttujen esimerkkien avulla vääntää, mutta en saanut tulostumaan mitään tuolta sivulta tulevaa - ainoastaan nuo php-tiedostoon kirjoitetut taulukon otsikot.

    $xml = simplexml_load_file('auto.xml');
    auto.xml tilalle laitoin siis tuon mainitsemani osoitteen ja muutin muutkin tiedot.

    Äänestä

eli osaisiko joku sanoa, jos xml-tiedosto olisikin alla olevan kaltainen, niin miten menisi vastaavanlainen käsittely:


Jaska Jokunen
1999
5000



Aku Ankka
2007
255000



eli on tavallaan kaksi tuollaista aloitusta, autot ja auto...

mitä muutoksia tällöin täytyisi tehdä xml-tiedostoon, jotta php löytää nuo tiedot sieltä ja tulos on samankaltainen kuin edellisessä versiossa?

foreach ($xml -> auto as $automuuttuja) {
echo "" . $automuuttuja -> omistaja . "\n";
echo "" . $automuuttuja -> vuosimalli . "\n";
echo "" . $automuuttuja -> hinta . "\n\n";

Äänestä
  • selitin "hieman" väärin :D joten kysyn myöhemmin uudelleen...

    Äänestä

Kommentoi aloitusta


pieni ongelma. kirjoitti:

minulla on seuraavanlainen xml-tiedosto:

Jaska Jokunen
1999
5000


Aku Ankka
2007
255000


Sitten kun parsin PHP:llä tuon xml-tiedoston, niin tulostus:

print "XML-dokumentin sisältö";
print "Omistaja: $omistaja";
print "Vuosimalli: $vuosimalli";
print "Hinta: $hinta";

tulostaa tiedot tyyliin:
Omistaja:JaskaJokunenAkuAnkka

Vuosimalli:
19992007

Hinta:500025500

Eli miten noi saisi tulostettua niin, että tuo olisi selkeämpi?
Eli Omistaja: Vuosimalli: Hinta: tulisivat kahteen kertaan, toisessa tiedot Jaska Jokusesta ja toisessa Aku Ankasta...?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu