Keresés

Hirdetés

Új hozzászólás Aktív témák

  • DiabloCorsa

    őstag

    XML feldolgozáshoz kérek segítséget.-.
    Ha pl. ilyen az XML semmi gondom

    <url>
    <loc>esokabat-legolcsobb-kivitelben-horgaszashoz-kerekparozashoz-p-18841.html</loc>
    <lastmod>2015-09-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    </url>
    <loc>poncso-oldalgombolassal-univerzalis-meret-sarga-zold-p-18817.html</loc>
    <lastmod>2015-09-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    </url>

    Itt van nyitó és záró tag, közötte az adat.
    Most az alábbit kellene feldolgozni, kb. 7000 'sorból'

    <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>

    Kell a code, site és dispo értéke. Úgy, hogy csak a dispo -ból csak Budapest értéke kell.

    Megoldás tud valaki?

    [ Szerkesztve ]

    Diablo. Ha gumira van szükséged ...

  • DiabloCorsa

    őstag

    válasz Sk8erPeter #18161 üzenetére

    Nem jön össze.

    Az első példámat feldolgozom így:

    function tep_xml_sincron($nombreFichero = '') {
    $ruta_remota = "../temp/pasztoy.xml";

    $nombreFichero = file_get_contents($ruta_remota);
    if (!$xml = simplexml_load_string($nombreFichero)) {
    exit;
    }
    $array_general = array();
    $contador_no_id = 0;
    foreach($xml as $prod) {
    $prod_name = trim($prod->CONF_NOMBRE);
    $prod_name = str_replace($ant,$desp,$prod_name);
    $sub_mod = $id_gama . '-' . $id_subgama . '-' . $subgama_name . '-' . $prod_name;
    if (!array_key_exists("$sub_mod", $array_general)) {
    $products_model_akh = trim($prod->[B]KOD[/B]);
    $products_kod_akh = $prod->[B]KOD2[/B];
    tep_db_perform(TABLE_PRODUCTS, array(
    'products_model_akh' => $products_model_akh,
    'products_kod_akh' => $products_kod_akh,
    'products_last_modified' => strftime(DATE_TIME_FORMAT)
    ), 'update', 'products_model_akh=\''.$products_model_akh.'\'');

    }
    }
    return 1;
    }

    Ehhez ez az XML tartlama:

    <gumi>
    <KOD>13580R13TK706</KOD>
    <KOD2>1003118</KOD2>
    </gumi>

    A kapott érték: 13580R13TK706, 1003118

    Amit kérdeztem az példa után is ............sötét.

    Ezt kéne 'kihámozni':

    <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>

    Itt NINCS külön < > között a kerssett adat.

    Ez van: <product code="0101000499090" generic="01010004" title="JAY kombinált - 9" totalDispo="0" unit="PÁR">

    Ebből kell a code, stb...

    [ Szerkesztve ]

    Diablo. Ha gumira van szükséged ...

  • DiabloCorsa

    őstag

    válasz Sk8erPeter #18161 üzenetére

    Itt tartok:

    $xml = simplexml_load_string($nombreFichero, 'SimpleXMLElement', LIBXML_NOCDATA);

    Evvel kapok ilyet:

    SimpleXMLElement Object ( [product] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [code] => ce0101000499090 [generic] => 01010004 [title] => JAY kombinålt kesztyŹ sårga kÊk - 9 [totalDispo] => 0 [unit] => PÁR ) [detail] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [dispo] => 0 [site] => Budapest ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [dispo] => 1 000 - 2 999 [site] => KÜzponti raktår ) ) ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [code] => 0101000499100 [generic] => 01010004 [title] => JAY kombinålt kesztyŹ - 10 [totalDispo] => 10 - 29 [unit] => PÁR ) [detail] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [dispo] => 10 - 29 [site] => Budapest ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [dispo] => 5 000 - 9 999 [site] => KÜzponti raktår ) ) ) ) [2] => SimpleXMLElement Object ( [@attributes] => Array ( [code] => 0101000499110 [generic] => 01010004 [title] => JAY komb. kesztyŹ sårga piros -11 [totalDispo] => 0 [unit] => PÁR ) [detail] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [dispo] => 0 [site] => Budapest ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [dispo] => 10 000 - 19 999 [site] => KÜzponti raktår ) ) ) ) ) )

    Ebből mi lesz a változója pl. a ce0101000499090 értéknek

    ( SimpleXMLElement Object ( [@attributes] => Array ( [code] => ce0101000499090

    [ Szerkesztve ]

    Diablo. Ha gumira van szükséged ...

  • DiabloCorsa

    őstag

    válasz fordfairlane #18164 üzenetére

    Köszönöm ez működne "hagyományos" XML esetén.
    Jelen esetben nem ad vissza értéket.

    Én most itt tartok:

    Ez az XML

    <?xml version="1.0" encoding="UTF-8"?><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>

    Ebből evvel:

    foreach($xml->products as $prod) {
    print_r($prod);
    }

    Ez lesz:

    SimpleXMLElement Object ( [product] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [code] => ce0101000499090 [generic] => 01010004 [title] => JAY kombinålt kesztyŹ sårga kÊk - 9 [totalDispo] => 0 [unit] => PÁR ) [detail] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [dispo] => 0 [site] => Budapest ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [dispo] => 1 000 - 2 999 [site] => KÜzponti raktår ) ) ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [code] => 0101000499100 [generic] => 01010004 [title] => JAY kombinålt kesztyŹ - 10 [totalDispo] => 10 - 29 [unit] => PÁR ) [detail] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [dispo] => 10 - 29 [site] => Budapest ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [dispo] => 5 000 - 9 999 [site] => KÜzponti raktår ) ) ) ) [2] => SimpleXMLElement Object ( [@attributes] => Array ( [code] => 0101000499110 [generic] => 01010004 [title] => JAY komb. kesztyŹ sårga piros -11 [totalDispo] => 0 [unit] => PÁR ) [detail] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [dispo] => 0 [site] => Budapest ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [dispo] => 10 000 - 19 999 [site] => KÜzponti raktår ) ) ) ) ) )

    Ebből kell kivenni az adatot. Hogyan?

    Diablo. Ha gumira van szükséged ...

  • DiabloCorsa

    őstag

    A következő a feladat:

    2200 html szövegfájlban átírni a kép nevét a fájl nevére, kiterjesztés nélkül és előtte átnevezni a mappában lévő képet.

    A fájl neve pl. ilyen: 9912002099999-solvina.html

    A fájl tartalma ahol módosítani kell minden esetben "ilyen":

    <h1>SOLVINA</h1>
    <div class="product_detail left">
    <a href="b017ba99a8c12b75708e83bcdcba4bb0.jpg" rel="product" class="fancy">
    <img src="b017ba99a8c12b75708e83bcdcba4bb0_350x350.jpg" alt="">
    </a>
    </div>

    Mindig a fájl nevében lévő szám után látható első - jel és a .html rész közötti szöveg lesz a H1 tagban, és 2 sorral alatt van a jpg, amit át kell nevezni - a fájlt is a mappában - a html fájl nevére, tehát ebben az esetben
    9912002099999-solvina.jpg -re.
    Az a sor is azonos minden esetben, csak a jpg neve változik.

    Tehát ez fix: <a href="xxx.jpg" rel="product" class="fancy"> csak az xxx rész változik. Abban a sorban lévő nevű képet kell átnevezni és az új nevet oda írni a helyébe.

    Tehát a weboldal pont úgy nézzen ki, csak a kép neve változzon és látható is legyen.
    Más jpg nincs a fájlban és más ilyen div (class) sincs.

    Picit értem a php-t, annyira nem hogy megcsináljam.

    Diablo. Ha gumira van szükséged ...

  • DiabloCorsa

    őstag

    válasz disy68 #18694 üzenetére

    Köszönöm a választ. Tudunk beszélni?
    Ha írsz privát számot felhívlak.

    Üdv: DiabloCorsa

    [ Szerkesztve ]

    Diablo. Ha gumira van szükséged ...

Új hozzászólás Aktív témák