ciao!

in sostanza l'utente carica un file xml, che è una cosa del genere:
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 un progetto laravel 10, devo leggere il file che l'utente mi invia in POST e mapparlo in JSON.
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:
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!"
      ));
    }
  }
questo quello che ricevo:
codice:
object(SimpleXMLElement)#1324 (0) {
}
consigli??