Autor Zpráva
bezradny_profesional
Profil *
Prosím moc o pomoc. Potřebuji xml soubor naházet do MySQL. S xml parserem se vůbec nechytám. Mohl by mi prosím někdo alespoň naznačit jak na to? Opravdu jsem bezradný. Prosím.

Soubor má následující strukturu:

<SHOPITEM>
	<PRODUCT></PRODUCT>
	<ZNACKA></ZNACKA>
	<CATEGORYTEXT></CATEGORYTEXT>
	<DESCRIPTION></DESCRIPTION>
	<LONGDESCRIPTION></LONGDESCRIPTION>
	<URL></URL>
	<IMGURL></IMGURL>
	<CENA></CENA>
	<CENABEZNA></CENABEZNA>
	<CENAPARTNER></CENAPARTNER>
</SHOPITEM>

Potřebuji ty data dát do tabulky, SHOPITEM bude značit nový řádek a každý tag bude uložen do vlastního sloupce (pojmenovaný stejně jako tag).
Kajman_
Profil *
Nejdřív si nachystat tabulku s potřebnou strukturou. Pak si projíždět xml např. díky simplexml a vkládat do tabulky díky insertu.
bezradny_profesional
Profil *
insert zvládnu, ale nevím jak převédst "<PRODUCT>Červené boty</PRODUCT>" na "$product = "Červené boty";"
SwimX
Profil
bezradny_profesional
jak převédst "<PRODUCT>Červené boty</PRODUCT>" na "$product = "Červené boty";"
regulární výraz?
takovej nastrel:
<?php
$a = ereg_replace("<(.*)>(.*)</(.*)>", "\$\\1=\"\\2\";", "<PRODUCT>Červené boty</PRODUCT>");
eval($a);
echo $PRODUCT;
?>


ale nedoporučuji pužívat:
1 ereg_replace -> nahradit preg_replace
2, eval
bezradny_profesional
Profil *
SwimX
to jak jsi to napsal jsem pochopil, díky, ale je tady ještě ta věc, že mám soubor o velikosti 2MB takovýchto výrazů, takže by jsem potřeboval


a) prohnat celý soubor tím skriptem
b) rozkouskovat na jednotlivé produkty a na to udělat závislé uložení řádku do mysql


sice nyní již chápu jak udělat "<PRODUCT>Červené boty</PRODUCT>" --->>> "$product = "Červené boty";" ale potřeboval by jsem s tím poradit v širším záběru, pokud mám opravdu 2MB textu
Alphard
Profil
bezradny_profesional
Kajman_ vám odkazoval simplexml, jestli se vám nelíbí, jsou i jiné knihovny pro práci s XML, ale rozhodně nedoporučuji řešit to přes regulární výrazy, SwimX vaši větu vytrhl z kontextu a napsal řešení, bohužel IMHO nešťastné
SwimX
Profil
odpověděl jsem na „ale nevím jak převédst "<PRODUCT>Červené boty</PRODUCT>" na "$product = "Červené boty";"
s xml soubory nemám žádnou zkušenost.

Alphard
napsal řešení, bohužel IMHO nešťastné
sám jsem psal, že ho doporučuji nepoužít

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: