Avatar billede agertz Nybegynder
25. juni 2009 - 20:36 Der er 7 kommentarer og
1 løsning

Brug PHP til at læse en XML fil

Jeg har modtaget XML fil med mange tusinde produkter der skal overføres til min MySQL database. Jeg undskylder hvis denne tråd er oprettet det forkerte sted, men jeg formoder at jeg skal bruge PHP til dette ;-)

XML filen er opbygget således:

<?xml version="1.0" encoding="UTF-8"?>
<productFeed version="2.0">
<product id="2">
<name>NAVN PÅ PRODUKT</name>
<productURL>www.produkturl.dk/produkt.php</productURL>
                    <imageURL>www.image.dk/image.jpg</imageURL>
<price>1000</price>
<description>Beskrivelse her</description>
<fields>
<field name="ProductType" value="ting" />
<field name="ProductionYear" value="2010" />
<field name="NumberOfDiscs" value="1" />
<field name="Language" value="Dansk" />
<field name="Origin" value="Danmark" />
</fields>

<categories>
<category name="kategori 1" />
<category name="kategori 2" />
</categories>

<inStock>1000</inStock>
                    <shippingCost>30</shippingCost>
<deliveryTime>1000 days</deliveryTime>
                   
</product>
<product id="3">
<name>navn på produkt_3</name>
osv osv


Produkterne har altså fået tildelt hvert sit id.

Hvordan henter jeg eks: navn, billedeurl, pris, beskrivelse og kategorier på hvert eneste produkt og indsætter dem i databasen?

På forhånd tak
Avatar billede arne_v Ekspert
25. juni 2009 - 21:02 #1
PHP var ikke umiddelbart det oplagte valg til en standalone app (database loader), men hvis du kender PHP saa kan det bruges.

Grundliggende parser du XML filen og indsaetter vaerdierne i din database tabel.

Hvad skal du have hjaelp til? Parsning af XML? Indsaettelse i database?
Avatar billede agertz Nybegynder
26. juni 2009 - 00:03 #2
PHP er det eneste sprog jeg har kendskab til (udover det almindelige HTML, CSS  osv :P)

Jeg skal stort set have hjælp til det hele - første gang jeg har med en XML fil at gøre. Jeg skal have lagt alle oplysninger over i en database, så det er jo både parsing og indsættelse :;)
Avatar billede arne_v Ekspert
26. juni 2009 - 02:18 #3
Jeg har skrevet en guide til brug af XML i PHP:
  http://www.eksperten.dk/guide/1263

Der må være en million guides til brug af MySQL i PHP.
Avatar billede coderdk Praktikant
27. juni 2009 - 17:12 #4
Et eksempel med SimpleXML:

$xml = new SimpleXMLElement( "din_xml_fil.xml", NULL, true );
foreach ( $xml->product as $product )
{
  echo $product['id'] . "---" . $product->name . "<br />";
  echo '<a href="http://'.$product->productURL.'">'.$product->productURL.'</a><br />';
}
Avatar billede arne_v Ekspert
04. august 2009 - 03:20 #5
agertz ?
Avatar billede agertz Nybegynder
26. maj 2010 - 10:37 #6
Jeg undskylder det manglende svar - jeg har ikke været så god til at afslutte mine spørgsmål :(

Må hellere få det lukket nu
Avatar billede coderdk Praktikant
26. maj 2010 - 11:03 #7
Jamen tak, da :P
Avatar billede arne_v Ekspert
26. maj 2010 - 15:08 #8
agertz>

Maa jeg foreslaa at fremtidige spoergsmaal du opretter faar en disclaimer nederst:

"Skriv endelig nogle gode svar men jeg har dog alle planer om selv at beholde point selv fjolser."
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