Domanda

Sto lavorando in un'applicazione .net in cui dobbiamo generare al volo file XML in base al set di dati recuperato dal db.Lo schema XML deve essere basato su un xsd fornito.Vorrei sapere se esiste un modo per associare o associare un set di dati o ciascuna riga di dati con xsd.Non so se sia possibile farlo o potrei pensare all'utilizzo degli XSD da una prospettiva sbagliata.Se sbaglio correggimi e fammi sapere il modo migliore per associare un dato recuperato dal db a uno schema predefinito. Grazie.

Aggiornamento:Se la mia prospettiva su xsd è sbagliata, per favore fai luce su come vengono utilizzati gli xsd (o magari indicami alcuni collegamenti utili).

È stato utile?

Soluzione

Oltre alla soluzione suggerita da Joel Coehoorn (generare set di dati tipizzati o entità aziendali da XSD), vorrei aggiungere un paio di altri approcci:

  1. Se utilizzi un database che supporta il tipo XML come Oracle o MS SQL Server, puoi costruire XML direttamente nelle tue query SQL e recuperare XML direttamente dal database ignorando la popolazione del set di dati.
  2. Nel caso in cui lo schema del database non sia direttamente mappato sull'XSD specificato, ad es.hai già un set di dati digitato o un set di oggetti business serializzabili XML e tali oggetti sono serializzati in XML non conforme all'XSD che ti viene fornito, puoi utilizzare XSLT per trasformare il tuo XML in un altro documento XML che lo farà essere conforme all'XSD specificato.

Altri suggerimenti

Utilizza il documento dello schema come parametro per il programma xsd.exe della riga di comando incluso in Visual Studio per generare file di classe o set di dati digitati che puoi includere nel tuo progetto/soluzione.Queste classi o set di dati possono essere serializzati in XML e saranno conformi al documento dello schema utilizzato per crearli.

L'unico problema è che non è dinamico:non puoi aspettare fino al runtime per ottenere i file dello schema.Ma non c'è nulla di integrato che lo supporti altrimenti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top