Condividi tramite


XElement.Save Metodo

Definizione

Serializza l'albero XML sottostante dell'elemento. L'output può essere salvato in un file oppure in un oggetto XmlTextWriter, TextWriter o XmlWriter. Facoltativamente, è possibile disabilitare la formattazione (rientro).

Overload

Save(Stream)

Restituisce l'oggetto XElement nell'oggetto Stream specificato.

Save(TextWriter)

Serializza questo elemento in TextWriter.

Save(String)

Serializza questo elemento in un file.

Save(XmlWriter)

Serializza questo elemento in XmlWriter.

Save(Stream, SaveOptions)

Restituisce l'oggetto XElement nell'oggetto Stream specificato, indicando facoltativamente il comportamento di formattazione.

Save(TextWriter, SaveOptions)

Serializza questo elemento in TextWriter, facoltativamente disabilitando la formattazione.

Save(String, SaveOptions)

Serializza questo elemento in un file, facoltativamente disabilitando la formattazione.

Save(Stream)

Restituisce l'oggetto XElement nell'oggetto Stream specificato.

public:
 void Save(System::IO::Stream ^ stream);
public void Save (System.IO.Stream stream);
member this.Save : System.IO.Stream -> unit
Public Sub Save (stream As Stream)

Parametri

stream
Stream

Flusso in cui restituire l'oggetto XElement.

Commenti

Il codice XML serializzato verrà rientrato. Tutti gli spazi vuoti non significativi verranno rimossi e verranno aggiunti spazi vuoti aggiuntivi in modo che il codice XML venga rientrato correttamente. Il comportamento di questo metodo è che gli spazi vuoti non significativi non verranno mantenuti.

Se si desidera controllare lo spazio vuoto, usare l'overload di Save che accetta SaveOptions come parametro. Usare l'opzione DisableFormatting per salvare il codice XML non rientrato. In questo modo il writer scriverà tutti gli spazi vuoti esattamente come rappresentati nell'albero XML.

Usare l'opzione OmitDuplicateNamespaces se si desidera rimuovere dichiarazioni dello spazio dei nomi duplicate.

Si applica a

Save(TextWriter)

Serializza questo elemento in TextWriter.

public:
 void Save(System::IO::TextWriter ^ textWriter);
public void Save (System.IO.TextWriter textWriter);
member this.Save : System.IO.TextWriter -> unit
Public Sub Save (textWriter As TextWriter)

Parametri

textWriter
TextWriter

Oggetto TextWriter in cui verrà scritto l'oggetto XElement.

Esempio

L'esempio seguente crea un XElementoggetto , salva il documento in un oggetto StringWritere quindi stampa la stringa nella console.

XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");  
using (StringWriter sw = new StringWriter()) {  
    root.Save(sw);  
    Console.WriteLine(sw.ToString());  
}  
Dim root As XElement = <Root><Child> Text </Child></Root>  
Using sw = New StringWriter()  
    root.Save(sw)  
    Console.WriteLine(sw.ToString())  
End Using  

Nell'esempio viene prodotto l'output seguente:

<?xml version="1.0" encoding="utf-16"?>  
<Root>  
  <Child> Text </Child>  
</Root>  

Commenti

Il codice XML serializzato verrà rientrato. Tutti gli spazi vuoti non significativi verranno rimossi e verranno aggiunti spazi vuoti aggiuntivi in modo che il codice XML venga rientrato correttamente. Il comportamento di questo metodo è che gli spazi vuoti non verranno mantenuti.

Se si desidera controllare lo spazio vuoto, usare l'overload di Save che consente di specificare SaveOptions come parametro. Per altre informazioni, vedere Mantenere lo spazio vuoto durante il caricamento o l'analisi di XML e Mantenere lo spazio vuoto durante la serializzazione.

Vedi anche

Si applica a

Save(String)

Serializza questo elemento in un file.

public:
 void Save(System::String ^ fileName);
public void Save (string fileName);
member this.Save : string -> unit
Public Sub Save (fileName As String)

Parametri

fileName
String

Oggetto String che contiene il nome del file.

Esempio

L'esempio seguente crea un XElementoggetto , salva il documento in un file e quindi stampa il file nella console.

XElement root = new XElement("Root",  
    new XElement("Child", "child content")  
);  
root.Save("Root.xml");  
string str = File.ReadAllText("Root.xml");  
Console.WriteLine(str);  
Dim root As XElement = _   
        <Root>  
            <Child>child content</Child>  
        </Root>  
root.Save("Root.xml")  
Dim Str As String = File.ReadAllText("Root.xml")  
Console.WriteLine(Str)  

Nell'esempio viene prodotto l'output seguente:

<?xml version="1.0" encoding="utf-8"?>  
<Root>  
  <Child>child content</Child>  
</Root>  

Commenti

Il codice XML serializzato verrà rientrato. Tutti gli spazi vuoti non significativi verranno rimossi e verranno aggiunti spazi vuoti aggiuntivi in modo che il codice XML venga rientrato correttamente. Il comportamento di questo metodo è che i nodi di spazio vuoto non significativi nell'albero XML non verranno mantenuti.

Se si desidera controllare lo spazio vuoto, usare l'overload di Save che consente di specificare SaveOptions come parametro. Per altre informazioni, vedere Mantenere lo spazio vuoto durante il caricamento o l'analisi di XML e Mantenere lo spazio vuoto durante la serializzazione.

Vedi anche

Si applica a

Save(XmlWriter)

Serializza questo elemento in XmlWriter.

public:
 void Save(System::Xml::XmlWriter ^ writer);
public void Save (System.Xml.XmlWriter writer);
member this.Save : System.Xml.XmlWriter -> unit
Public Sub Save (writer As XmlWriter)

Parametri

writer
XmlWriter

Oggetto XmlWriter in cui verrà scritto l'oggetto XElement.

Esempio

Nell'esempio seguente viene illustrato come salvare XElement in XmlWriter.

StringBuilder sb = new StringBuilder();  
XmlWriterSettings xws = new XmlWriterSettings();  
xws.OmitXmlDeclaration = true;  
using (XmlWriter xw = XmlWriter.Create(sb, xws)) {  
    XElement root = new XElement("Root",  
        new XElement("Child", "child content")  
    );  
    root.Save(xw);  
}  
Console.WriteLine(sb.ToString());  
Dim sb As StringBuilder = New StringBuilder()  
Dim xws As XmlWriterSettings = New XmlWriterSettings()  
xws.OmitXmlDeclaration = True  
Using xw = XmlWriter.Create(sb, xws)  
    Dim root As XElement = <Root>  
                               <Child>child content</Child>  
                           </Root>  
    root.Save(xw)  
End Using  
Console.WriteLine(sb.ToString())  

Nell'esempio viene prodotto l'output seguente:

<Root><Child>child content</Child></Root>  

Vedi anche

Si applica a

Save(Stream, SaveOptions)

Restituisce l'oggetto XElement nell'oggetto Stream specificato, indicando facoltativamente il comportamento di formattazione.

public:
 void Save(System::IO::Stream ^ stream, System::Xml::Linq::SaveOptions options);
public void Save (System.IO.Stream stream, System.Xml.Linq.SaveOptions options);
member this.Save : System.IO.Stream * System.Xml.Linq.SaveOptions -> unit
Public Sub Save (stream As Stream, options As SaveOptions)

Parametri

stream
Stream

Flusso in cui restituire l'oggetto XElement.

options
SaveOptions

Oggetto SaveOptions che specifica il comportamento della formattazione.

Commenti

Per impostazione predefinita, l'oggetto options è impostato su None. Questa opzione rimuoverà tutti gli spazi vuoti non significativi e aggiungerà spazi vuoti insignificanti appropriati in modo che il codice XML sia rientrato correttamente.

Se si desidera salvare il codice XML non rientrato, specificare il DisableFormatting flag per options. In questo modo il writer scriverà tutti gli spazi vuoti esattamente come rappresentati nell'albero XML.

Usare l'opzione OmitDuplicateNamespaces se si desidera rimuovere dichiarazioni di spazio dei nomi duplicate.

Si applica a

Save(TextWriter, SaveOptions)

Serializza questo elemento in TextWriter, facoltativamente disabilitando la formattazione.

public:
 void Save(System::IO::TextWriter ^ textWriter, System::Xml::Linq::SaveOptions options);
public void Save (System.IO.TextWriter textWriter, System.Xml.Linq.SaveOptions options);
member this.Save : System.IO.TextWriter * System.Xml.Linq.SaveOptions -> unit
Public Sub Save (textWriter As TextWriter, options As SaveOptions)

Parametri

textWriter
TextWriter

Oggetto TextWriter nel quale deve essere restituito il codice XML.

options
SaveOptions

Oggetto SaveOptions che specifica il comportamento di formattazione.

Esempio

Nell'esempio seguente vengono illustrati due usi di questo metodo. Il primo utilizzo mantiene lo spazio vuoto. Il secondo serializza con la XElement formattazione. Poiché il documento non contiene spazi vuoti come costruito, mantiene lo spazio vuoto restituisce il codice XML senza rientro.

XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");  

using (StringWriter sw = new StringWriter())  
{  
    root.Save(sw, SaveOptions.DisableFormatting);  
    Console.WriteLine(sw.ToString());  
}  

Console.WriteLine("=====");  

using (StringWriter sw = new StringWriter())  
{  
    root.Save(sw, SaveOptions.None);  
    Console.WriteLine(sw.ToString());  
}  
Dim root As XElement = <Root><Child> Text </Child></Root>  

Using sw = New StringWriter()  
    root.Save(sw, SaveOptions.DisableFormatting)  
    Console.WriteLine(sw.ToString())  
End Using  

Console.WriteLine("=====")  

Using sw = New StringWriter()  
    root.Save(sw, SaveOptions.None)  
    Console.WriteLine(sw.ToString())  
End Using  

Nell'esempio viene prodotto l'output seguente:

<?xml version="1.0" encoding="utf-16"?><Root><Child> Text </Child></Root>  
=====  
<?xml version="1.0" encoding="utf-16"?>  
<Root>  
  <Child> Text </Child>  
</Root>  

Commenti

Se si desidera salvare il codice XML non rientrato, specificare il DisableFormatting flag per options. In questo modo il writer scriverà tutti gli spazi vuoti esattamente come rappresentati nell'albero XML.

Se si desidera salvare il codice XML con rientro, non specificare il DisableFormatting flag per options. In questo modo verranno rimossi tutti gli spazi vuoti superflui estranei e si aggiungeranno spazi vuoti non significativi appropriati in modo che il codice XML sia rientrato correttamente. Si tratta del comportamento predefinito e del comportamento degli overload dei Save metodi che non accettano options come parametro.

Per altre informazioni, vedere Mantenere lo spazio vuoto durante il caricamento o l'analisi di XML e Mantenere lo spazio vuoto durante la serializzazione.

Vedi anche

Si applica a

Save(String, SaveOptions)

Serializza questo elemento in un file, facoltativamente disabilitando la formattazione.

public:
 void Save(System::String ^ fileName, System::Xml::Linq::SaveOptions options);
public void Save (string fileName, System.Xml.Linq.SaveOptions options);
member this.Save : string * System.Xml.Linq.SaveOptions -> unit
Public Sub Save (fileName As String, options As SaveOptions)

Parametri

fileName
String

Oggetto String che contiene il nome del file.

options
SaveOptions

Oggetto SaveOptions che specifica il comportamento di formattazione.

Esempio

Nell'esempio seguente vengono illustrati due usi di questo metodo. Il primo utilizzo mantiene lo spazio vuoto. Il secondo serializza l'oggetto con la XElement formattazione.

string str;  
XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");  

root.Save("Root.xml", SaveOptions.DisableFormatting);  
str = File.ReadAllText("Root.xml");  
Console.WriteLine(str);  

Console.WriteLine("=====");  

root.Save("Root.xml", SaveOptions.None);  
str = File.ReadAllText("Root.xml");  
Console.WriteLine(str);  
Dim str As String  
Dim root As XElement = <Root><Child> Text </Child></Root>  

root.Save("Root.xml", SaveOptions.DisableFormatting)  
str = File.ReadAllText("Root.xml")  
Console.WriteLine(str)  

Console.WriteLine("=====")  

root.Save("Root.xml", SaveOptions.None)  
str = File.ReadAllText("Root.xml")  
Console.WriteLine(str)  

Nell'esempio viene prodotto l'output seguente:

<?xml version="1.0" encoding="utf-8"?><Root><Child> Text </Child></Root>  
=====  
<?xml version="1.0" encoding="utf-8"?>  
<Root>  
  <Child> Text </Child>  
</Root>  

Commenti

Se si desidera salvare il codice XML non rientrato, specificare il DisableFormatting flag per options. In questo modo il writer scriverà tutti gli spazi vuoti esattamente come rappresentati nell'albero XML.

Se si desidera salvare il codice XML con rientro, non specificare il DisableFormatting flag per options. In questo modo verranno rimossi tutti gli spazi vuoti superflui estranei e si aggiungeranno spazi vuoti non significativi appropriati in modo che il codice XML sia rientrato correttamente. Si tratta del comportamento predefinito e del comportamento degli overload dei Save metodi che non accettano options come parametro.

Per altre informazioni, vedere Mantenere lo spazio vuoto durante il caricamento o l'analisi di XML e Mantenere lo spazio vuoto durante la serializzazione.

Vedi anche

Si applica a