ciao!
in sostanza l'utente carica un file xml, che è una cosa del genere:
in un progetto laravel 10, devo leggere il file che l'utente mi invia in POST e mapparlo in JSON.codice:<dtt:richiestaAcquisizioneSchedaControlloFamiglia xmlns:dtt="http://www.dtt.it/xsd/Immatricolazioni"> <dtt:intestazioneFamiglia> <dtt:omologazioneEuropea>e8*2018/858*00063*04</dtt:omologazioneEuropea> <dtt:dataRilascioOmologazioneEuropea>2024-02-08</dtt:dataRilascioOmologazioneEuropea> <dtt:costruttoreFamiglia>6554</dtt:costruttoreFamiglia> <dtt:marchio>23B</dtt:marchio> <dtt:famiglia>URBINO 12</dtt:famiglia> <dtt:categoriaInternazionale>M3</dtt:categoriaInternazionale> </dtt:intestazioneFamiglia> <dtt:richiestaAcquisizioneSchedaControlloFamigliaM2M3> <dtt:caratteristicheGeneraliDiCostruzione> <dtt:numeroAssi>2</dtt:numeroAssi> </dtt:caratteristicheGeneraliDiCostruzione> <dtt:dimensioniPrincipali> <dtt:interasse asse="12"> <dtt:descrizioneValoreDatoTecnicoMinimo>5900</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>5900</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:interasse> <dtt:lunghezza> <dtt:descrizioneValoreDatoTecnicoMinimo>12000</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>12000</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:lunghezza> </dtt:dimensioniPrincipali> <dtt:masse> <dtt:massaDelVeicoloInOrdineDiMarciaTara> <dtt:descrizioneValoreDatoTecnicoMinimo>9900</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>14950</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:massaDelVeicoloInOrdineDiMarciaTara> <dtt:massaMassimaTecnicamenteAmmissibileAPienoCarico> <dtt:descrizioneValoreDatoTecnicoMinimo>19245</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>19700</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:massaMassimaTecnicamenteAmmissibileAPienoCarico> <dtt:massaMassimaTecnicamenteAmmissibilePerImmatricolazione> <dtt:descrizioneValoreDatoTecnicoMinimo>19245</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>19700</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:massaMassimaTecnicamenteAmmissibilePerImmatricolazione> <dtt:massaTrainabileInCasoDiRimorchioATimone> <dtt:descrizioneValoreDatoTecnicoMinimo>0</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>0</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:massaTrainabileInCasoDiRimorchioATimone> </dtt:masse> <dtt:massePerAsse asse="1"> <dtt:massaMassimaTecnicamenteAmmissibileSuAsse> <dtt:descrizioneValoreDatoTecnicoMinimo>7245</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>7700</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:massaMassimaTecnicamenteAmmissibileSuAsse> <dtt:massaMassimaAmmissibilePerImmatricolazioneAsse> <dtt:descrizioneValoreDatoTecnicoMinimo>7245</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>7700</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:massaMassimaAmmissibilePerImmatricolazioneAsse> </dtt:massePerAsse> <dtt:massePerAsse asse="2"> <dtt:massaMassimaTecnicamenteAmmissibileSuAsse> <dtt:descrizioneValoreDatoTecnicoMinimo>12000</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>12000</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:massaMassimaTecnicamenteAmmissibileSuAsse> <dtt:massaMassimaAmmissibilePerImmatricolazioneAsse> <dtt:descrizioneValoreDatoTecnicoMinimo>12000</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>12000</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:massaMassimaAmmissibilePerImmatricolazioneAsse> </dtt:massePerAsse> <dtt:apparatoMotore> <dtt:codiceMotore>AVE 130</dtt:codiceMotore> <dtt:codiceMotore>CeTrax CX 220 110 B</dtt:codiceMotore> <dtt:codiceMotore>L9NE6E320</dtt:codiceMotore> <dtt:cilindrata>0</dtt:cilindrata> <dtt:cilindrata>8880</dtt:cilindrata> <dtt:cilindrata>0</dtt:cilindrata> <dtt:carburante>ELE</dtt:carburante> <dtt:carburante>ME</dtt:carburante> </dtt:apparatoMotore> <dtt:potenzaMotoreTermico combustibile="ME"> <dtt:potenzaMassimaNettaMotoreTermico>235</dtt:potenzaMassimaNettaMotoreTermico> <dtt:regimeDiPotenzaMassima>2000</dtt:regimeDiPotenzaMassima> </dtt:potenzaMotoreTermico> <dtt:assiESospensioni> <dtt:carreggiata asse="1"> <dtt:descrizioneValoreDatoTecnicoMinimo>2085</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>2178</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:carreggiata> <dtt:carreggiata asse="2"> <dtt:descrizioneValoreDatoTecnicoMinimo>1826</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>1888</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:carreggiata> </dtt:assiESospensioni> <dtt:pneumatico ruota="1" asse="1"> <dtt:larghezzaPneumatico>275</dtt:larghezzaPneumatico> <dtt:coefficienteDiRibassamento>70</dtt:coefficienteDiRibassamento> <dtt:raggioRuota>22,5</dtt:raggioRuota> <dtt:indiceDiCarico>148</dtt:indiceDiCarico> <dtt:indiceDiVelocita>J</dtt:indiceDiVelocita> </dtt:pneumatico> <dtt:pneumatico ruota="1" asse="2"> <dtt:larghezzaPneumatico>275</dtt:larghezzaPneumatico> <dtt:coefficienteDiRibassamento>70</dtt:coefficienteDiRibassamento> <dtt:raggioRuota>22,5</dtt:raggioRuota> <dtt:indiceDiCarico>145</dtt:indiceDiCarico> <dtt:indiceDiVelocita>J</dtt:indiceDiVelocita> </dtt:pneumatico> <dtt:prestazioniAmbientali> <dtt:emissioniGasScaricoNumeroAttoNormativo>ZZ</dtt:emissioniGasScaricoNumeroAttoNormativo> <dtt:emissioniGasScaricoNumeroAttoNormativo>C27</dtt:emissioniGasScaricoNumeroAttoNormativo> </dtt:prestazioniAmbientali> <dtt:prestazioniAmbientaliMotoreElettrico> <dtt:potenzaMassima30MinutiMotoreElettrico>225</dtt:potenzaMassima30MinutiMotoreElettrico> </dtt:prestazioniAmbientaliMotoreElettrico> <dtt:proceduraDiProva4 combustibile="ME"> <dtt:particolatoProceduraDiProvaWhtcMgKw> <dtt:descrizioneValoreDatoTecnicoMinimo>0.1</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>0.1</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:particolatoProceduraDiProvaWhtcMgKw> <dtt:noxProceduraDiProvaWhtcMgKw> <dtt:descrizioneValoreDatoTecnicoMinimo>76.73</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>76.73</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:noxProceduraDiProvaWhtcMgKw> <dtt:nh3ProceduraDiProvaWhtcMgKw> <dtt:descrizioneValoreDatoTecnicoMinimo>0.73</dtt:descrizioneValoreDatoTecnicoMinimo> <dtt:descrizioneValoreDatoTecnicoMassimo>0.73</dtt:descrizioneValoreDatoTecnicoMassimo> </dtt:nh3ProceduraDiProvaWhtcMgKw> </dtt:proceduraDiProva4> </dtt:richiestaAcquisizioneSchedaControlloFamigliaM2M3> </dtt:richiestaAcquisizioneSchedaControlloFamiglia>
in pratica i valori dopo il dtt: devono diventare i campi del JSON.
solo che ho diversi problemi che non riesco a capire.
questo l'ultimo tentativo fatto:
questo quello che ricevo:codice:public function add(Request $req) { $data = $req->all(); if (!empty($data)) { $uploadedFile = $req->file('file'); $fileContents = file_get_contents($uploadedFile); $fileContents = str_replace(array("\n", "\r", "\t"), '', $fileContents); $fileContents = trim(str_replace('"', "'", $fileContents)); $xml = new SimpleXMLElement($fileContents); var_dump($xml); } else { return response()->json(array( "res" => "ko", "message" => "Dati mancanti!" )); } }
consigli??codice:object(SimpleXMLElement)#1324 (0) { }

Rispondi quotando