2016-01-07 2 views
6
<?xml version="1.0" encoding="UTF-8"?> 
<current> 
    <city id="1259229" name="Pune"> 
     <coord lon="73.86" lat="18.52" /> 
     <country>IN</country> 
     <sun rise="2016-01-07T01:38:29" set="2016-01-07T12:42:53" /> 
    </city> 
    <temperature value="27.49" min="27.49" max="27.49" unit="metric" /> 
    <humidity value="43" unit="%" /> 
    <pressure value="955.13" unit="hPa" /> 
    <wind> 
     <speed value="2.65" name="Light breeze" /> 
     <gusts /> 
     <direction value="113.502" code="ESE" name="East-southeast" /> 
    </wind> 
    <clouds value="36" name="scattered clouds" /> 
    <visibility /> 
    <precipitation mode="no" /> 
    <weather number="802" value="scattered clouds" icon="03d" /> 
    <lastupdate value="2016-01-07T06:25:45" /> 
</current> 

Sto cercando di convertire questo XML in csv Ho provato qualche cosa come questo, ma io non sto ricevendo alcuna logica per convertire i dati in formato CSVcome convertire un file XML in file CSV in javascript

 try { 
      var file : File = new File(dw.io.File.IMPEX + '/src/weather.csv'); 
      var fileWriter : FileWriter = new FileWriter(file, 'UTF-8'); 
      var csw : CSVStreamWriter = new CSVStreamWriter(fileWriter); 
      csw.writeNext(//here I want array of string data); 
      csw.writeEndDocument(); 
      csw.close(); 
      fileWriter.close(); 
     } 
     catch(e) { 
      return PIPELET_ERROR; 
     } 

Ma non so come convertire i dati xml in stringhe di array

+2

Vedere http://stackoverflow.com/questions/7949752/cross-browser-javascript-xml-parsing per un modo per analizzare XML in oggetti JavaScript. Quindi scegli i bit che vuoi inserire nel tuo array. –

risposta

4

Poiché si utilizza JavaScript lato server, inoltre DemandwareScript, controlla la classe XMLStreamReader e la sintassi E4X. https://en.m.wikipedia.org/wiki/ECMAScript_for_XML E4X è EcmaScript per Xml, una sintassi proprietaria che viene utilizzata per l'accesso DOM XML in Demandware. Avresti bisogno di un altro oggetto File per leggere il file XML.

Anche il file XML non è "piatto", quindi è necessario definire quali elementi XML vanno dove nel CSV.