kysyn tätä tällä puolella: eli onko mahdollista viedä xml-tiedosto tietokantaan(mysql). tarkotuksena olisi hakea xml-syöte ja ajaa sitä ajastetusti tietokantaan. tuo nyt hoituu kyllä windowsin ja linuxin ajastuksilla, mutta tuo xml-vieminen on vähän hämärän peitossa. kaikille kielille olen avoimena, millä vaan hoitus mahdollisimman jouhevasti tämä.
Xml on tekstiä, tekstiä voi tallentaa tietokantaan. Premissit täyttyvät ja niistä seuraa johtopäätös, että xml:ää voi tallentaa tietokantaan. Jos haluat ehdottomasti säilöä xml:n vielä erillisiin tiedostoihin, niin voit tallentaa kantaan vain viitteen tiedostoon (sen polun).
Herää kysymys, miksi pitää viedä xml - tietorakenne erilliseen säilöön? Luo xml - sisällöstä tietokantarakenne ja parsi tiedot kantaan xml - rakenteen sijasta, vai tarkoititko juuri tätä, kaipaat vain siihen työkalut?
Olettaen että xml struktuuri ei muutu ja tietotyypit/koko ovat tiedossa.
eli tartteisin ton xml:n sisätävän datan mysql:ään jotta voin käsitellä sitä php:llä omassa projektissani. eli kysymys on, että onko olemassa valmiita työkaluja tähän?
Kyllä myös XML-muotoista tietoa voi käsitellä PHP:llä, joten siirto tietokantaan ei ole välttämätöntä.
Itse ainakin muuttaisin XML-tiedoston SQL-kyselyiksi ihan omalla skriptillä, koska se olisi luultavasti nopeampaa kuin jonkin hienon työkalun etsiminen ja opetteleminen.
Esimerkiksi:
<?xml version="1.0" encoding="UTF-8"?> <document> <henkilo> <nimi>Maikku Maikkunen</nimi> <puh>05058454114</puh> <sahkoposti>maikku@maikkunen.fi</sahkoposti> </henkilo> <henkilo> <nimi>Eunukki Eeponen</nimi> <puh>04558454114</puh> <sahkoposti>eunukki@eeponen.com</sahkoposti> </henkilo> <henkilo> <nimi>Fernando Haapanen</nimi> <puh>04048454114</puh> <sahkoposti>fernando@haapanen.com</sahkoposti> </henkilo> </document>
$xml = simplexml_load_file("data.xml"); $query = $pdo->prepare('INSERT INTO henkilot (nimi, puh, sahkoposti) VALUES (?, ?, ?);'); foreach ($xml->henkilo as $henkilo) { $query->execute(array( $henkilo->nimi, $henkilo->puh, $henkilo->sahkoposti )); }
Tajuttoman suuret Kiitosket qeijo!!! Sekä kiitos muillekkin vastanneille. Tämä oli just sitä mitä hajin!
Aihe on jo aika vanha, joten et voi enää vastata siihen.