Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Interazione tra LINQ e VSTO: Linq-to-Xml in Visual Basic 2008

In questo precedente post abbiamo visto come, all'interno di una soluzione a livello di un documento di Microsoft Word 2007, creata con i Visual Studio Tools for Office, sia possibile utilizzare LINQ per interrogare una serie di collection esposte dall'applicazione host. In quel frangente, dato un documento in cui due diversi utenti hanno applicato delle revisioni, abbiamo utilizzato LINQ-To-Objects per estrarre le revisioni apposte da uno solo dei due revisori.

L'obiettivo di questo post è esattamente lo stesso, ma lo raggiungeremo utilizzando LINQ-To-Xml. In sostanza, creeremo un documento Xml al quale aggiugneremo dei nodi in maniera dinamica. Detti nodi conterranno i dati relativi alle revisioni applicate dall'utente "Alessandro".

Nel rimandarvi al precedente post per la predisposizione del progetto, vediamo come il seguente code snippet raggiunga l'obiettivo:

Dim documento As XDocument = <?xml version="1.0"?>

                                 <Revisioni>

                                    <%= From rev As Word.Revision In Globals.ThisDocument.Revisions _

                                        Where (rev.Author = "Alessandro") _

                                        Select _

                                        <Revisione Testo=<%= rev.Range.Text %> Timestamp=<%= rev.Date.ToString %>/> %>

                                  </Revisioni>

 

MessageBox.Show(documento.ToString)

Avviando la soluzione e facendo clic sul pulsante, questo è il risultato che compare:

In questo modo è possibile interrogare le varie collection ed eventualmente persisterle in un documento XML (che può poi essere a sua volta interrogato tramite LINQ-To-Xml).

Alessandro

Print | posted on lunedì 10 marzo 2008 19:31 | Filed Under [ Visual Basic Visual Studio Tools for Office LINQ ]

Powered by:
Powered By Subtext Powered By ASP.NET