Daisycon xml in database zetten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

M Puts

M Puts

05/06/2010 23:27:45
Quote Anchor link
Hallo,

Ik heb een probleem. Ik weet niet hoe ik een daisycon xml file kan uitlezen en in een database kan zetten.

Ik heb begrepen dat ik het het beste in een csv bestand kan omzetten en dan via een simpele query kan inserten?

Of heeft iemand anders een oplossing?

Mark
 
PHP hulp

PHP hulp

10/05/2024 21:49:54
 
Noppes Homeland

Noppes Homeland

05/06/2010 23:30:26
Quote Anchor link
Goh, leuk dat je het hier ook nog een keer komt vragen, wat is er niet duidelijk aan van wat er je verteld is op phpfreakz.nl

Neem nu eens je gemak en neem het volgende goed door:
http://www.php.net/DOM
http://www.php.net/manual/en/book.xsl.php
Gewijzigd op 05/06/2010 23:35:14 door Noppes Homeland
 

05/06/2010 23:30:53
Quote Anchor link
Heeft phpfreakz niet het antwoord...?

Edit: Hoi Noppes :-P, spuit 11.
Gewijzigd op 05/06/2010 23:34:21 door
 
M Puts

M Puts

05/06/2010 23:35:56
Quote Anchor link
Zie de laatste reactie daar ;)

Het probleem is dus dat ik niet weet hoe ik hem om kan zetten naar csv.

ZOals bij
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$oXMLDocument
= new DOMDocument();
$oXSLTDocument = new DOMDocument();
$oXSLTProcessor = new XSLTProcessor();
 
$oXMLDocument->load('xslt_import_data.xml', LIBXML_NOCDATA);
$oXSLTDocument->load('xslt_import_xslt.xsl');
 
$oXSLTProcessor->importStylesheet($oXSLTDocument);
echo $oXSLTProcessor->transformToXML($oXMLDocument);
?>


Is hierbij $oXSLTProcessor->transformToXML($oXMLDocument); de csv? Of hoe moet ik dit zien?
 

05/06/2010 23:41:46
Quote Anchor link
M Puts op 05/06/2010 23:35:56:
Zie de laatste reactie daar ;)

Dus dan ga je maar cross-forum posten? Hier gaan hebben over iets wat daar uitgelegd is? En zeker niet vermelden waar je het vandaan hebt?
Lees nou maar effe gewoon die links die je krijgt. Het is écht niet moeilijk, als je gewoon maar effe inzet toont.
 
M Puts

M Puts

06/06/2010 00:07:16
Quote Anchor link
Ik post het hier omdat ik zo hoop om meerdere meningen erover te krijgen en omdat ik op phpfreakz geen antwoord meer krijg.

http://www.yapf.net/index.php/Data_importeren_via_XSLT is de bron die ik gebruikt heb. Zoals je misschien al merkt ben ik een beginner en nu het dus helemaal niet meer snap.

(krijg ik geen antwoord meer omdat het echt zo simpel is, dus een domme vraag is of.., op phpfreakz??)

Over LOAD DATA INFILE is wel genoeg te vinden maar over het converten niet zo.
Gewijzigd op 06/06/2010 00:18:29 door M Puts
 
Noppes Homeland

Noppes Homeland

06/06/2010 00:42:35
Quote Anchor link
Tja, zolang jij niet laat zien wat je niet begrijpt, dan wel wat er niet lukt, krijg je uiteraard ook geen antwoord op je vraag sq probleem.

Je hebt hier dan wel 1 gerichte vraag gesteld, maar daar kan geen antwoord opgegeven, omdat we de inhoud van de file 'xslt_import_xslt.xsl' niet kennen.
 
M Puts

M Puts

06/06/2010 01:14:00
Quote Anchor link
Ok sorry.
Ik heb het script gewoon exact overgenomen van http://www.yapf.net/index.php/Data_importeren_via_XSLT

Het probleem is vooral, ik weet niet wat het voorstelt. Hoe ik het dus het simpelste/makkelijkste kan doen.

Trouwens bedankt dat je nog op dit tijdstip reageert :)
 
Noppes Homeland

Noppes Homeland

06/06/2010 10:36:46
Quote Anchor link
M Puts op 06/06/2010 01:14:00:
Het probleem is vooral, ik weet niet wat het voorstelt.


Tja, als je alleen maar kijkt en niets leest, dan wel het voorbeeld oppakt om er mee te experimenteren, gebeurt er ook niets en zal je dus ook nooit gaan begrijpen wat dat stukje code voorstelt.

M Puts op 06/06/2010 01:14:00:
Hoe ik het dus het simpelste/makkelijkste kan doen.


Er is maar 1 manier waarop je dit kan toepassen, dus je zit je hersenen te pijnigen op een probleem wat niet daar is.
 
M Puts

M Puts

06/06/2010 12:26:16
Quote Anchor link
Ik heb het eindelijk werkend, ik was volgens mij stom bezig om geen aparte xml file aan te maken zoals in het voorbeeld, ik het het gewoon als een variabele er neer gezet.

Maar nu is de csv output heb, moet ik dat eerst wegschrijven naar een csv bestand? Voordat ik het load data infile gebruik? Aangezien de naam al zegt load data in FILE. Of is het als een variabele opslaan ook goed?

Daarnaast is er ook een tool die voor mij de .xsl bestand aanmaakt?
 
Noppes Homeland

Noppes Homeland

06/06/2010 12:38:19
Quote Anchor link
M Puts op 06/06/2010 12:26:16:
Maar nu is de csv output heb, moet ik dat eerst wegschrijven naar een csv bestand?

Lijkt mij van wel.
M Puts op 06/06/2010 12:26:16:
Daarnaast is er ook een tool die voor mij de .xsl bestand aanmaakt?

Nee
 
Piet Verhagen

Piet Verhagen

06/06/2010 12:41:11
Quote Anchor link
Op phpfreakz.nl lees ik dat je geen csv kan / mag gebruiken. Waarom wil je em nu omzetten naar csv dan?
 
Noppes Homeland

Noppes Homeland

06/06/2010 12:57:28
Quote Anchor link
Dat is wel een erg vrije intrepetatie van wat er gescheven staat.

Het feit is, dat de xml data getransformeerd moet worden naar een vorm, zodat het in een database tabel ingelezen kan worden.

LOAD DATA is dan de aangewezen SQL functie en dus zal je de xml met xsl moeten transformeren naar csv-format. (xsl is daartoe het eenvoudigste)

Als je namenlijk alles met INSERT gaat verwerken loop je het risico tegen diverse problemen aan te lopen.
Gewijzigd op 06/06/2010 13:00:46 door Noppes Homeland
 
M Puts

M Puts

06/06/2010 13:31:09
Quote Anchor link
Bedankt voor de reactie's maar moet ik de csv data wegschrijven in een bepaald bestand en dat dan met load data in file doen? Of kan ik hem in bijvoorbeeld $output opslaan?
 
Noppes Homeland

Noppes Homeland

06/06/2010 13:34:46
Quote Anchor link
Lees nu eens wat er gepost wordt dd: 06/06/2010 12:38:19
 
M Puts

M Puts

06/06/2010 14:11:00
Quote Anchor link
Woow, daar heb ik dus overheen gelezen :S
Bedankt voor de info :)
 
M Puts

M Puts

06/06/2010 16:59:35
Quote Anchor link
Nu is het vullen van een csv bestand gelukt, maar nu zit ik met de query..

Dit is de output wat ik krijg:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
LOAD DATA LOCAL INFILE "data.csv" INTO TABLE vakanties FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" IGNORE 1 LINES


Query was empty


Bij t script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
include('connect.php');
$txtfile = 'data.csv';
$table = 'vakanties';
$sql = 'LOAD DATA LOCAL INFILE "'.$txtfile.'" INTO TABLE '.$table.' FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" IGNORE 1 LINES';

echo $sql.'<br /><br /><br />';

mysql_query($loadsql) or die(mysql_error());
?>


Template:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0' exclude-result-prefixes="xsl">
    <xsl:output method="html" indent="yes" encoding="UTF-8" />
    <!--  Begin het toepassen van de templates -->
    <xsl:template match="/">
        <xsl:apply-templates select="//item" />
    </xsl:template>
    <!-- Template voor een record -->
    <xsl:template match="item">
        "<xsl:value-of select="id"/>","<xsl:value-of select="title"/>","<xsl:value-of select="link"/>","<xsl:value-of select="daisycon_unique_id"/>","<xsl:value-of select="description"/>","<xsl:value-of select="country_of_origin"/>","<xsl:value-of select="duration"/>","<xsl:value-of select="img_small"/>","<xsl:value-of select="img_medium"/>","<xsl:value-of select="minimum_price"/>","<xsl:value-of select="departure_date"/>","<xsl:value-of select="transportation_type"/>","<xsl:value-of select="country_of_destination"/>","<xsl:value-of select="priority"/>","<xsl:value-of select="accommodation_name"/>","<xsl:value-of select="city_of_destination"/>"
    </xsl:template>
</xsl:stylesheet>

Wat doe ik nu verkeerd?
Gewijzigd op 06/06/2010 17:03:39 door M Puts
 
Noppes Homeland

Noppes Homeland

06/06/2010 17:30:33
Quote Anchor link
or die() is struisvogelpolitiek, dat betekent dat het totaal zinloos is om or die() te gebruiken in je scripts, je wilt namenlijk niet dat een script stopt op het moment dat er een fout optreed bij het uitvoeren van een query.

Waar heb je de data.csv geplaatst, het kan niet zo zijn dat deze file op de juiste plek staat, je dient exact aan te geven waar de file staat.
 
M Puts

M Puts

06/06/2010 18:02:51
Quote Anchor link
Voor het debuggen vind ik het wel handig.
Maar de data.csv staat gewoon in de zelfde folder.
 
Noppes Homeland

Noppes Homeland

06/06/2010 18:19:14
Quote Anchor link
Zo dus je hebt data.csv geplaats in de `bin` directory van mysql geplaatst, lijkt mij niet juist.
 
M Puts

M Puts

06/06/2010 18:29:25
Quote Anchor link
Hoe bedoel je dit?
Wat is die bin dir?
Hoe zou ik het wel goed kunnen doen?
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.