Hirdetés

2024. május 2., csütörtök

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)

Hozzászólások

(#12010) Tapsi válasza Sk8erPeter (#12008) üzenetére


Tapsi
addikt

Átírtam, de nyilván nem ez volt a gond. Kösz, hogy szóltál. :D

Ezt a classt használtam végül: [link]

A kód jelenleg így néz ki:

$client = new SoapClient('http://....asmx?WSDL',array("trace" => 1,"exceptions" => 0,'features' => SOAP_SINGLE_ELEMENT_ARRAYS));
$result=$client->GetCikkekKeszleten(array('web_update'=>'2012-11-20-11:00'));

$t1 = new XMLSerializer;

$re = $t1->generateValidXmlFromObj($result->GetCikkekKeszletenResult,"","");

$re = htmlspecialchars_decode($re);

$re = str_replace(array("</valasz>",'<valasz xmlns="" verzio="1.0">'),array("",""),$re);

Ez már egy normális XML-fát ad vissza. Egyelőre fájlba írom, de lehet, hogy kihagyom ezt a köztes lépést, és rögtön feldolgozom. Továbbra is a nagy adatmennyiség a probléma.

Az XML feldolgozó:

$z = new XMLReader;
$z->open('tmp.xml');

$doc = new DOMDocument;

while ($z->read() && $z->name !== 'cikk');


while ($z->name === 'cikk'){

$node = simplexml_import_dom($doc->importNode($z->expand(), true));

$ki .= '<tr><td>'.$node->cikkid.'</td><td>'.$node->cikkszam.'</td></tr>';

$z->next('cikk');
}

?>

Az XML pedig így néz ki:

<?xml version="1.0" encoding="UTF-8" ?>
<any>
<cikkek>
<cikk><cikkid>93038</cikkid><cikkszam>SKNB52</cikkszam></cikk>
<cikk><cikkid>93038</cikkid><cikkszam>SKNB52</cikkszam></cikk>
<cikk><cikkid>93038</cikkid><cikkszam>SKNB52</cikkszam></cikk>
</cikkek>
</any>

[ Szerkesztve ]

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.