Pereiti prie turinio

XML importavimas į Mysql


Rekomenduojami pranešimai

Sveiki,

 

Prireikė importuoti xml iš tiekėjo tinklalapio, turiu tokia struktūra:

<product id="451">
				<name><![CDATA[Produktas]]></name>
				<brand><![CDATA[brendas]]></brand>
				<category_path><![CDATA[/kategorija]]></category_path>
				<category><![CDATA[kategorija1]]></category>
				<image_url><![CDATA[http://www.nuoroda.lt]]></image_url>
				<price><![CDATA[100.0]]></price>	
				<description><![CDATA[ Aprasymas]]></description>
				<options>
				<option >
					<option_name><![CDATA[10]]></option_name>
					<STOCK>2</STOCK>
				</option>
				<option >
					<option_name><![CDATA[20]]></option_name>
					<STOCK>2</STOCK>
				</option>
				</options>
			</product>
</products>

 

Man reikia xml su tokia struktūra suimportuoti į mysql duombazės lentą. Bandžiau per phpmyadmin, tada su mysql klientu per LOAD XML LOCAL INFILE, tačiau pavyko gauti tik NULL laukelius. Gal galit patarti kaip suimportuoti ta xml į mysql lentą ? Galbūt nesiimportuoja dėl !CDATA[]?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kiek panagrinėjau php simplexml_load_file funkcija, tačiau pasirodo ji nepalaiko CDATA, kaip tokiu atveju apeiti šita ribojima?

 

Sprendimas, naudoti: LIBXML_NOCDATA

 

Pvz. simplexml_load_file($xml, 'SimpleXMLElement', LIBXML_NOCDATA);

Redagavo NightLeech
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 3 savaičių...

Turiu dar du klausimus. Tarkime as paiimu duomenis is xml taip

 

$xml = simplexml_load_file('failas.xml','SimpleXMLElement',LIBXML_NOCDATA);
foreach($xml->product as $products)
{ echo $products->price; }

 

Mano problema ta, kad negaliu gauti duomenų jeigu tag'as yra su tarpu. Šiuo atveju: <product id="451"> . Ar įmanoma kažkaip išsisukti su simplexml_load_file funkcija ar teks susigeneruoti masyvą ir triminti tarpus?

 

Antras klausimas. Tarkime turiu taga <options> o po juo eina sub tagai<option>, kaip man juos išsivesti?

Gal yra kokios literaturos apie XML parsinima su PHP kur viskas nuo iki paaiškinta?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...