Я пытаюсь проанализировать свои данные из файла XML. У меня проблема с идентификаторами, мне нужно 10 строк и каждый раз один и тот же идентификатор между двумя массивами. Другая проблема связана с выводом, мне нужно 10 строк, а я получил 7, я чувствую перезапись в моем l oop.
Можно ли сохранить данные в al oop? Я не хочу использовать сессию данных
Спасибо за вашу потенциальную помощь:)
XML (для этого мне нужно два массива с одинаковым хранилищем идентификаторов)
<criteresValorisation>
<critereValorisation critereMetier="PoidsUnitaire" valeur="367">
<codeCritereFacturation>7</codeCritereFacturation>
<valeurCritereFacturation />
<libelleValeurCritereFacturation />
<typeCritereFacturation>CONTINU</typeCritereFacturation>
</critereValorisation>
<critereValorisation critereMetier="OptionSiteDepot" valeur="Standard Couplage">
<codeCritereFacturation>41</codeCritereFacturation>
<valeurCritereFacturation>29940</valeurCritereFacturation>
<libelleValeurCritereFacturation>STANDARD CPL</libelleValeurCritereFacturation>
<typeCritereFacturation>LISTE</typeCritereFacturation>
</critereValorisation>
</criteresValorisation>
Моя функция синтаксического анализа
<code> private function _parseResponseWsTranscoValoFactuCritere($responseXml, $idsDepotFacturation,$key)
{
$dataParse = array();
$i = 0;
foreach($responseXml->lignesTransco->ligneTransco as $data)
{
//echo '<pre>';
//var_dump($data);
//echo '
'; if ($ key == "id_depot_facturation") {foreach ($ data-> criteresValorisation as $ data) {// echo "
";
//var_dump($data);
//echo "
"; foreach ($ data as $ clef => $ value) {// var_dump ((string) $ idsDepotFacturation [$ i] [$ key], (string) $ value-> attribute () -> critereMetier, (string) $ value -> атрибуты () -> Valeur (строка) $ ценностно> codeCritereFacturation (строка) $ ценностно> valeurCritereFacturation (строка) $ ценностно> libelleValeurCritereFacturation); $ dataParse [$ idsDepotFacturation [$ i] [$ key]] ["ID_DEPOT_FACTURATION"] = (строка) $ idsDepotFacturation [$ i] [$ key]; $ dataParse [$ idsDepotFacturation [$ i] [$ key]] ['CRITERE_METIER'] = (строка) $ value-> attribute () -> critereMetier; $ dataParse [$ idsDepotFacturation [$ i] [$ key]] ['VALEUR_CRITERE'] = (строка) $ value-> attribute () -> valeur; $ dataParse [$ idsDepotFacturation [$ i] [$ key]] ['CODE_CRITERE_FACTURATION'] = (строка) $ value-> codeCritereFacturation; $ dataParse [$ idsDepotFacturation [$ i] [$ key]] ['VALEUR_CRITERE_FACTURATION'] = (строка) $ value-> valeurCritereFacturation; $ dataParse [$ idsDepotFacturation [$ i] [$ key]] ['LIBELLE_VALEUR_CRITERE_FACTU'] = (строка) $ value-> libelleValeurCritereFacturation; / * if ($ dataParse [$ idsDepotFacturation [$ i] [$ key]] ["ID_DEPOT_FACTURATION"] == "") {unset ($ dataParse [$ idsDepotFacturation [$ i] [$ key]]); } * / // var_dump ($ dataParse); $ I ++; }}}} return $ dataParse; }
Как использовать эту функцию
$dataParseFactuCritere = $this->_parseResponseWsTranscoValoFactuCritere($oXML, $idsDepotFacturation, $key);
// Queries Table DEPOT_FACTURATION_CRITERE
foreach($dataParseFactuCritere as $depotFacturationCritere)
{
var_dump($depotFacturationCritere);
$oDepotFacturationCritere = new Services_DepotFacturationCritere();
$create = $oDepotFacturationCritere->insertDepotFacturationCritere($depotFacturationCritere);
}
Результат анализа
array(6) {
["ID_DEPOT_FACTURATION"]=>
string(0) ""
["CRITERE_METIER"]=>
string(13) "PoidsUnitaire"
["VALEUR_CRITERE"]=>
string(3) "280"
["CODE_CRITERE_FACTURATION"]=>
string(2) "42"
["VALEUR_CRITERE_FACTURATION"]=>
string(0) ""
["LIBELLE_VALEUR_CRITERE_FACTU"]=>
string(0) ""
}
array(6) {
["ID_DEPOT_FACTURATION"]=>
string(6) "887094"
["CRITERE_METIER"]=>
string(15) "OptionSiteDepot"
["VALEUR_CRITERE"]=>
string(8) "Standard"
["CODE_CRITERE_FACTURATION"]=>
string(2) "41"
["VALEUR_CRITERE_FACTURATION"]=>
string(5) "14119"
["LIBELLE_VALEUR_CRITERE_FACTU"]=>
string(8) "STANDARD"
}
array(6) {
["ID_DEPOT_FACTURATION"]=>
string(6) "887095"
["CRITERE_METIER"]=>
string(13) "PoidsUnitaire"
["VALEUR_CRITERE"]=>
string(3) "140"
["CODE_CRITERE_FACTURATION"]=>
string(1) "7"
["VALEUR_CRITERE_FACTURATION"]=>
string(0) ""
["LIBELLE_VALEUR_CRITERE_FACTU"]=>
string(0) ""
}
array(6) {
["ID_DEPOT_FACTURATION"]=>
string(6) "887096"
["CRITERE_METIER"]=>
string(15) "OptionSiteDepot"
["VALEUR_CRITERE"]=>
string(8) "Standard"
["CODE_CRITERE_FACTURATION"]=>
string(2) "41"
["VALEUR_CRITERE_FACTURATION"]=>
string(5) "14111"
["LIBELLE_VALEUR_CRITERE_FACTU"]=>
string(8) "STANDARD"
}
array(6) {
["ID_DEPOT_FACTURATION"]=>
string(6) "887097"
["CRITERE_METIER"]=>
string(13) "PoidsUnitaire"
["VALEUR_CRITERE"]=>
string(3) "140"
["CODE_CRITERE_FACTURATION"]=>
string(1) "7"
["VALEUR_CRITERE_FACTURATION"]=>
string(0) ""
["LIBELLE_VALEUR_CRITERE_FACTU"]=>
string(0) ""
}
array(6) {
["ID_DEPOT_FACTURATION"]=>
string(6) "887098"
["CRITERE_METIER"]=>
string(15) "OptionSiteDepot"
["VALEUR_CRITERE"]=>
string(8) "Standard"
["CODE_CRITERE_FACTURATION"]=>
string(2) "41"
["VALEUR_CRITERE_FACTURATION"]=>
string(5) "14129"
["LIBELLE_VALEUR_CRITERE_FACTU"]=>
string(8) "STANDARD"
}