» »

xml dnevni uvoz v bazo

xml dnevni uvoz v bazo

alen1 ::

Pozdtavljeni!

Imam težavo z uvozom xml datoteke v bazo. Gre se za dnevni vnos podatkov v podatkovno bazo. Podatki bi se lahko z uvozom v sami bazi prepisali. Težava je ta, da ko izvozim datoteko iz programa dobim sledeč zapis:
<?xml version="1.0" encoding="windows-1250"?>
<substitutions>
   <date day="21" month="4" year="2010">
      <subst absent="podatek1" lesson="1" subject="podatek2" forms="podatek3" groups="podatek4" cancelled="1" note="" room="podatek5"/>
      <subst absent="podatek1" lesson="1" subject="podatek2" forms="podatek3" groups="podatek4" cancelled="1" note="" room="podatek5"/>
	   <subst absent="podatek1" lesson="1" subject="podatek2" forms="podatek3" groups="podatek4" cancelled="1" note="" room="podatek5"/>
	   <subst absent="podatek1" lesson="1" subject="podatek2" forms="podatek3" groups="podatek4" cancelled="1" note="" room="podatek5"/>
	  .
	  .
	  .
	</date>
</substitutions>

Lahko bi bil vmesnik za uvoz v bazo ali pa mapa, kamor bi se ta datoteka xml shranila ob izvozu, potem pa se avtomatsko sinhronizirala na strežnik in v bazo. Bazaj je sql, mysql. Ko bi imel podatke v bazi, bi lahko le te prikazoval na različnih spletnih straneh in različne podatke klical iz baze.
Gre se pa za dnevno pravilo. Se pravi izvoz xml iz programa (program nima podatkovne baze) in uvoz podatkov v podatkovno bazo.
Hvala.

Isotropic ::

naredi programcek, ki parsa datoteko ter posodobi bazo. potem ga vsak dan se zalavfas, ce moras rocno dobiti xml iz programa.
naredis ga pa v pythonu recimo v kaki uri.

alen1 ::

Jaz bi nekako čim lažje spravil to obliko xml-ja v mysql podatkovno bazo. Programček narediš brez problema če ga znaš in se s tem ukvarjaš.

phyro ::

s pythonom je dosti enostavna reč, poglej si minidom pa se mal igraj ;)
mysql api pa je tudi dosti lahek za uporabo ^^ http://www.devshed.com/c/a/Python/MySQL...

Zgodovina sprememb…

  • spremenil: phyro ()

nightrage ::

Tole sem našel na googlu http://www.w3schools.com/PHP/php_mysql_... Zadeva je hitra in zelo enostavna.

Isotropic ::

http://www.diveintopython.org/toc/index...
poglavja 2,3,4,9
za bazo pa ne vem, ce je tam, je bil pa linkze gor

prtenjam ::

Jaz ti lahko napišem program, ki bo delal to kar želiš in v odvisnosti od želja je lahko program tudi tako splošen, da ga v nadalje sam nastavljaš - glede na sprememb v vhodno/izhodno strukturi.
Matjaž Prtenjak
https://mnet.si

LeQuack ::

To je precej trivialno z nekaterimi MySQL procedurami.

Poglej si predvsem funkcijo LOAD XML, ki je na voljo v MySQL (verzija 5 bi že morala imeti).
Link: http://dev.mysql.com/doc/refman/5.5/en/...

Recimo primer XML-a:
<?xml version="1.0"?>
<list>
  <person person_id="1" fname="Pekka" lname="Nousiainen"/>
  <person person_id="2" fname="Jonas" lname="Oreland"/>
</list>


Procedura, ki jo kličeš v MySQL bi bila:
LOAD XML LOCAL INFILE 'person.xml'
INTO TABLE person
ROWS IDENTIFIED BY '<person>'


Kjer tabela person zgleda tako:

+-----------+--------+------------+---------------------+
| person_id | fname | lname | created |
+-----------+--------+------------+---------------------+
| 1 | Pekka | Nousiainen | 2007-07-13 16:18:47 |
| 2 | Jonas | Oreland | 2007-07-13 16:18:47 |
+-----------+--------+------------+---------------------+



V tvojem primeru bi bil klic procedure tak:
LOAD XML LOCAL INFILE 'datoteka.xml'
INTO TABLE tabela
ROWS IDENTIFIED BY '<subst>'


Seveda ustrezno nastaviš ime datoteke in ime tabele. XML atributi elementa subst (absent, lesson, ...) morajo sovpadati z imeni stolpcev v tabeli, v katero vnašaš. Lahko izbereš tudi samo del atributov, ki se bodo vnesli ali podobno. Več piše v sami dokumentaciji na zgornji povezavi. Nesmiselno bi bilo za tako zadevo delati dodaten program, time is money :)
Quack !

Zgodovina sprememb…

  • spremenil: LeQuack ()

alen1 ::

Kaj pa vmesnik za vnos same datoteke? Recimo gumb poišči na neki formi, ki je lahko v php-ju najdemo datoteko xml in upload v bazo?

LeQuack ::

V HTML maš preprost element za to:
<input type="file" name="somename"> 


V PHP-ju ali pa kar JavaScriptu poiščeš pot do datoteke, ki jo je uporabnik izbral in to pot uporabiš kot argument za SQL proceduro. To je seveda v primeru, da ima strežnik, kjer je MySQL dostop do te datoteke. Če nima potem se stvar zakomplicira, ker je treba naloženo datoteko nekako shraniti v začasen direktorij na strežnik, pot do te datoteke pa potem kot argument posreduješ proceduri.
Quack !

Zgodovina sprememb…

  • spremenil: LeQuack ()

keworkian ::

Pa da ne bos pozabil dat multipart formo, drugace ti ne bo delal.
Obscenities in B-Flat


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[UWP] [C#]

Oddelek: Programiranje
423973 (2003) BivšiUser2
»

Baza podjetij

Oddelek: Loža
154104 (3248) M & M
»

Ne-relacijska baza

Oddelek: Programiranje
193853 (2476) mitjaR
»

Java - uvoz XML in izvoz v MySQL pomoč

Oddelek: Programiranje
372712 (2049) igor0203
»

MySQL in czs

Oddelek: Izdelava spletišč
423493 (2583) krho

Več podobnih tem