lunedì 28 novembre 2011

Aprire un file xml in un’applicazione LightSwitch

Da qualche giorno sto lavorando con LightSwitch (ed il buon Alessandro sa quanto apprezzo il prodotto!!!) e la logica con cui si approccia alla soluzione di un problema, anche banale, di programmazione è piuttosto differente da chi proviene dalle applicazioni desktop classico.

Ricordatevi sempre che stiamo parlando di Silverlight, quindi, già per questo, non date per scontato che possiate fare quello che volete, in più sotto LightSwitch.

Per questo motivo, ogni volta che mi scontrerò con un problema da “desktoppiano” classico e riuscirò a venirne a capo, cercherò di postarlo qui. Probabilmente la soluzione sarà banale e puerile, ma magari potrà servire ad altri!!

Detto questo, supponendo di voler aprire un file Xml e creare un oggetto XDocument utilizzando il metodo statico Load(String), normalmente scriveremmo

  1. Dim xmlTemplate As XDocument
  2. xmlTemplate = XDocument.Load(fullFileName)

dove fullFileName è il nome completo (con tanto di path) del file xml da aprire.

Questo funziona benissimo nelle nostre applicazioni desktop classiche ma non in LightSwitch che ci restituirà l’errore:

image

Per risolvere il problema è sufficiente utilizzare il metodo Load(Stream, LoadOptions):

  1. Dim xmlTemplate As XDocument
  2. Using fileStream = New FileStream(fileFullName, FileMode.Open)
  3.     xmlTemplate = XDocument.Load(fileStream)
  4. End Using

In questo modo non otteniamo l’errore precedente e riusciamo a creare il nostro XDocument (a patto, ovviamente che il file sia ben formato).

 

Nessun commento: