Memorizzazione dei dati del sondaggio da csv a xml

1

Ho ricevuto il compito di prendere un campione di risultati del sondaggio archiviati in CSV e convertirli in XML.

SonoancoraabbastanzanuovoperXML,mahotrovatounpaiodilayoutchepotreiusareesperavodipoteraverequalcheconsigliosuqualefosseilmodomigliorediandare.

1)

<survey><response><id>1</id><question><title>WhendidyoustartplayingPokemonGo?</title><answer>June</answer></question><question><title>Whattypeofphone/OSdoyouplayon?</title><answer>Android</answer></question><question><title>Whatteamareyouon?</title><answer>Mystic(Blue)</answer></question><question><title>WhatLevelAreYou?</title><answer>29</answer></question><question><title>Howmanypokemonhaveyoucaught?</title><answer>0to1000</answer></question><question><title>HowmanyKMhaveyoutraveled?(Joggermedal)</title><answer>Bronze</answer></question></response>...moreresponses...</survey>

2)

<survey><responseid="1">
        <answer question="1">June</answer>
        <answer question="2">Android</answer>
        <answer question="3">Mystic (Blue)</answer>
        <answer question="4">29</answer>
        <answer question="5">0 to 1000</answer>
        <answer question="6">Bronze</answer>
    </response>
    ... more responses ...
</survey>

Devo includere il testo della domanda, poiché verrà ripetuto per ogni risposta?

Utilizzerò un file XSD per porre delle restrizioni su quali possano essere le risposte e quindi trasformarlo utilizzando un XSLT per visualizzare i dati in grafici / tabelle.

    
posta screencut 07.04.2018 - 19:02
fonte

1 risposta

4

Quale è la migliore codifica dipende molto da ciò che stai cercando di memorizzare. Se stai memorizzando i dati raccolti dal sondaggio, sarà molto diverso rispetto a quello che stai memorizzando un record dell'input dell'utente dal sondaggio.

Se stai memorizzando il record di input dell'utente, qualcosa del genere potrebbe essere appropriato:

<survey>
  <questions>
    <question id="1">When did you start playing Pokemon Go?</question>
    <question id="2">What type of phone/OS do you play on?</question>
    <question id="3">What team are you on?</question>
    <question id="4">What Level Are You?</question>
    <question id="5">How many pokemon have you caught?</question>
    <question id="6">How many KM have you traveled? (Jogger medal)</question>
  </questions>
  <responses>
    <response id="1">
        <answer question="1">June</answer>
        <answer question="2">Android</answer>
        <answer question="3">Mystic (Blue)</answer>
        <answer question="4">29</answer>
        <answer question="5">0 to 1000</answer>
        <answer question="6">Bronze</answer>
    </response>
    ... more responses ...
  </responses>
</survey>

La cosa importante qui è includere informazioni sufficienti per ricostruire il sondaggio. Se le risposte non sono in forma libera, potrebbe valere la pena includere le risposte disponibili nel blocco domanda, possibilmente come questo:

<survey>
  <questions>
    ...
    <question id="2" text="What type of phone/OS do you play on?">
      <option id="1">iOS</option>   
      <option id="2">Android</option>
      <option id="3">Other</option>
    </question>
    ...
  </questions>
  <responses>
    <response id="1">
        ...
        <answer question="2" response="1"/>
        ...
    </response>
    <response id="2">
        ...
        <answer question="2" response="3">MS Surface</answer>
        ...
    </response>
    ... more responses ...
  </responses>
</survey>

Se stai semplicemente archiviando i dati raccolti, può essere molto più semplice (in pratica basta fornire per nome l'accesso ai campi):

<player-data>
  <player id="1"
          started="June"
          platform="Android"
          team="Mystic (Blue)"
          level="29"
          catchCount="0 to 1000"
          joggerMedal="Bronze"/>
  ... more players ...
</player-data>
    
risposta data 07.04.2018 - 20:05
fonte

Leggi altre domande sui tag