Hirdetés
Új hozzászólás Aktív témák
-
disy68
aktív tag
válasz
DiabloCorsa
#18682
üzenetére
Helló, nem tudom aktuális-e még, csináltam egy demo-t php-vel. Lehet nem pont erre gondoltál pontosan, de indulásnak jó lesz.
Ami kérdéses volt az a képek, mert van az a tag href-je pl: b017ba99a8c12b75708e83bcdcba4bb0.jpg míg a kép src-je pl: b017ba99a8c12b75708e83bcdcba4bb0_350x350.jpg. Ha mindkét fájlnév külön képre mutat, akkor az attribútum átírásán és a kép átnevezésén kell még változtatni kicsit.
A html feldolgozáshoz használtam a PHP Simple HTML DOM Parser-t.
Parancssori futtatás javallott amúgy hozzá sok fájl esetén (esetleges timeout miatt).
-
Zedz
addikt
válasz
DiabloCorsa
#18682
üzenetére
Ehhez inkább írnék egy shell scriptet.

-
fordfairlane
veterán
válasz
DiabloCorsa
#18165
üzenetére
Jelen szerkezetnél így néz ki:
<?php
$xmlstr = '
<diponibility>
<products>
<product code="ce0101000499090" generic="01010004" title="JAY kombinált kesztyű sárga kék - 9" totalDispo="0" unit="PÁR">
<detail dispo="0" site="Budapest"/>
<detail dispo="1 000 - 2 999" site="Központi raktár"/>
</product>
<product code="0101000499100" generic="01010004" title="JAY kombinált kesztyű - 10" totalDispo="10 - 29" unit="PÁR">
<detail dispo="10 - 29" site="Budapest"/>
<detail dispo="5 000 - 9 999" site="Központi raktár"/>
</product>
<product code="0101000499110" generic="01010004" title="JAY komb. kesztyű sárga piros -11" totalDispo="0" unit="PÁR">
<detail dispo="0" site="Budapest"/>
<detail dispo="10 000 - 19 999" site="Központi raktár"/>
</product>
</products>
</diponibility>
';
$xml = simplexml_load_string($xmlstr, 'SimpleXMLElement', LIBXML_NOCDATA);
foreach($xml as $products) {
foreach ($products as $product) {
echo '<pre>';
var_dump($product);
echo '</pre>';
echo 'code:' . $product["code"];
echo '<br><br>';
foreach($product as $detail) {
echo 'dispo:' . $detail["dispo"];
echo '<br>';
echo 'site:' . $detail["site"];
echo '<br>';
}
echo '<br><hr><br>';
}
} -
fordfairlane
veterán
válasz
DiabloCorsa
#18165
üzenetére
Nem értem a problémádat, ennél egyszerűbb példát nem tudok készíteni. Addig mész befelé foreach-csel, amíg a kívánt mélységig nem jutsz, és ott egyzerű asszociációs tömbindexeléssel megkapod a szükséges attribútumot. Eddig már 3-4 féle xml példát másoltál be, de mindegyiket hasonlóan kell kezelni.
-
fordfairlane
veterán
válasz
DiabloCorsa
#18163
üzenetére
<?php
$xmlstr = '
<document>
<product code="0101000499090" generic="01010004" title="JAY kombinált - 9" totalDispo="0" unit="PÁR">
<detail dispo="0" site="Budapest"/>
<detail dispo="1 000 - 2 999" site="Központi raktár"/>
</product>
<product code="0101000499100" generic="01010004" title="JAY kombinált - 10" totalDispo="10 - 29" unit="PÁR">
<detail dispo="10 - 29" site="Budapest"/>
<detail dispo="5 000 - 9 999" site="Központi raktár"/>
</product>
</document>
';
$xmlreslist = simplexml_load_string($xmlstr, 'SimpleXMLElement', LIBXML_NOCDATA);
foreach($xmlreslist as $product) {
echo 'code:' . $product["code"];
echo '<br><br>';
foreach($product as $detail) {
echo 'dispo:' . $detail["dispo"];
echo '<br>';
echo 'site:' . $detail["site"];
echo '<br>';
}
echo '<br><hr><br>';
} -
Sk8erPeter
nagyúr
válasz
DiabloCorsa
#18160
üzenetére
DOMDocument::loadXML-lel betöltöd az XML-fájlt, getElementsByTagName segítségével a tageket tudod betölteni, bejárod az így kapott eredményhalmazt, getAttribute segítségével pedig az attribútumok értékeit tudod lekérni. Az utóbbi oldalon a kommentek között egy egész értelmes példakódot is találsz.
Írj, ha ez alapján sem jön össze.
Új hozzászólás Aktív témák
- 5G LTE! Microsoft Surface Pro 8 i7-1185G7 16GB 256GB 1 év garancia
- Lenovo ThinkPad T14s Gen 2 i5-1135G7 4.2GHz turbo 16GB 512GB 1 év garancia
- Fotó állvány eladó
- iPhone XS Max 256GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3997, 100% Akkumulátor
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi



