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

LINQ: Rimuovere la dichiarazione XML dagli elementi

Quando si utilizza LINQ-To-XML per scrivere su disco un file XML è necessario considerare che, anche qualora si lavori con oggetti XElement piuttosto che XDocument, l'utilizzo del metodo Save di tali oggetti aggiunge automaticamente la dichiarazione XML. Ciò potrebbe non essere il comportamento desiderato se si desidera creare file personalizzati dalla struttura XML ma dal comportamento custom.

Considerate il seguente frammento:

        Dim doc As XElement = <Prova>

                                  <Nodo1>Valore</Nodo1>

                              </Prova>

 

 

        doc.Save("C:\prova.xml")

Il risultato che produce è il seguente, pur non avendo scritto esplicitamente la dichiarazione XML:

<?xml version="1.0"?>

<Prova>

<Nodo1>Valore</Nodo1>

</Prova>

Le alternative, quindi, sono due. L'utilizzo del metodo WriteTo dell'oggetto XElement, che riceve un argomento di tipo XmlWriter (per le varie possibilità fare riferimento alla documentazione MSDN) oppure convertire il tutto in stringa e salvare come file di testo, come nella seguente riga di codice:

My.Computer.FileSystem.WriteAllText("C:\prova.xml", doc.ToString, False)

In questo modo il file non conterrà la dichiarazione XML ma solo i nodi di interesse.

Alessandro

 

 

Print | posted on martedì 1 aprile 2008 01:27 | Filed Under [ Visual Basic LINQ ]

Powered by:
Powered By Subtext Powered By ASP.NET