XmlDocument.Save Метод

Определение

Сохраняет XML-документ в указанном месте.

Перегрузки

Save(Stream)

Сохраняет XML-документ в указанном потоке.

Save(TextWriter)

Сохраняет XML-документ в указанном TextWriter.

Save(String)

Сохраняет XML-документ в указанном файле. Если указанный файл существует, метод перезаписывает его.

Save(XmlWriter)

Сохраняет XML-документ в указанном XmlWriter.

Save(Stream)

Сохраняет XML-документ в указанном потоке.

public:
 virtual void Save(System::IO::Stream ^ outStream);
public virtual void Save (System.IO.Stream outStream);
abstract member Save : System.IO.Stream -> unit
override this.Save : System.IO.Stream -> unit
Public Overridable Sub Save (outStream As Stream)

Параметры

outStream
Stream

Поток, в который будет выполняться сохранение.

Исключения

Операция не приведет к созданию XML-документа с правильным форматом (например, в документе не будет элемента документа или будут повторяющиеся XML-объявления).

Комментарии

Пробелы сохраняются, только если PreserveWhitespace задано значение true.

XmlDeclaration текущего XmlDocument объекта определяет атрибут кодирования в сохраненном документе. Значение атрибута кодирования берется из XmlDeclaration.Encoding свойства. XmlDocument Если xmlDeclaration отсутствует или xmlDeclaration не имеет атрибута кодирования, сохраненный документ не будет иметь ни одного из них.

При сохранении документа атрибуты xmlns создаются для правильного сохранения удостоверения узла (локального имени и URI пространства имен). Например, следующий код C#

XmlDocument doc = new XmlDocument();  
doc.AppendChild(doc.CreateElement("item","urn:1"));  
doc.Save(Console.Out);  

создает этот атрибут <item xmls="urn:1"/>XMLS.

Этот метод является расширением Майкрософт для модели объектов документов (DOM).

Обратите внимание, что только Save метод применяет xml-документ с правильным форматом. Все остальные Save перегрузки гарантируют только хорошо сформированный фрагмент.

Применяется к

Save(TextWriter)

Сохраняет XML-документ в указанном TextWriter.

public:
 virtual void Save(System::IO::TextWriter ^ writer);
public virtual void Save (System.IO.TextWriter writer);
abstract member Save : System.IO.TextWriter -> unit
override this.Save : System.IO.TextWriter -> unit
Public Overridable Sub Save (writer As TextWriter)

Параметры

writer
TextWriter

Объект TextWriter, в котором необходимо выполнить сохранение.

Исключения

Операция не приведет к созданию XML-документа с правильным форматом (например, в документе не будет элемента документа или будут повторяющиеся XML-объявления).

Комментарии

Кодировка в кодировании TextWriter определяет кодирование, записанное (кодировка узла XmlDeclaration заменяется кодировкой ).TextWriter Если в кодировке TextWriterне указано, сохраняется XmlDocument без атрибута кодирования.

Этот метод является расширением Майкрософт для модели объектов документов (DOM).

Обратите внимание, что только Save метод применяет xml-документ с правильным форматом. Все остальные Save перегрузки гарантируют только хорошо сформированный фрагмент.

Применяется к

Save(String)

Сохраняет XML-документ в указанном файле. Если указанный файл существует, метод перезаписывает его.

public:
 virtual void Save(System::String ^ filename);
public virtual void Save (string filename);
abstract member Save : string -> unit
override this.Save : string -> unit
Public Overridable Sub Save (filename As String)

Параметры

filename
String

Место в файле, где нужно сохранить документ.

Исключения

Операция не приведет к созданию XML-документа с правильным форматом (например, в документе не будет элемента документа или будут повторяющиеся XML-объявления).

Примеры

В следующем примере XML загружается в объект XmlDocument, изменяет его, а затем сохраняется в файл с именем data.xml.

#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
int main()
{
   
   // Create the XmlDocument.
   XmlDocument^ doc = gcnew XmlDocument;
   doc->LoadXml( "<item><name>wrench</name></item>" );
   
   // Add a price element.
   XmlElement^ newElem = doc->CreateElement( "price" );
   newElem->InnerText = "10.95";
   doc->DocumentElement->AppendChild( newElem );
   
   // Save the document to a file. White space is
   // preserved (no white space).
   doc->PreserveWhitespace = true;
   doc->Save( "data.xml" );
}

using System;
using System.Xml;

public class Sample {

  public static void Main() {

    // Create the XmlDocument.
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<item><name>wrench</name></item>");

    // Add a price element.
    XmlElement newElem = doc.CreateElement("price");
    newElem.InnerText = "10.95";
    doc.DocumentElement.AppendChild(newElem);

    // Save the document to a file. White space is
    // preserved (no white space).
    doc.PreserveWhitespace = true;
    doc.Save("data.xml");
  }
}
Imports System.Xml

public class Sample 

  public shared sub Main() 
 
    ' Create the XmlDocument.
    Dim doc as XmlDocument = new XmlDocument()
    doc.LoadXml("<item><name>wrench</name></item>")

    ' Add a price element.
    Dim newElem as XmlElement = doc.CreateElement("price")
    newElem.InnerText = "10.95"
    doc.DocumentElement.AppendChild(newElem)

    ' Save the document to a file. White space is
    ' preserved (no white space).
    doc.PreserveWhitespace = true
    doc.Save("data.xml")
 
  end sub
end class

Файл data.xml будет содержать следующий XML-код: <item><name>wrench</name><price>10.95</price></item>

Комментарии

Пробелы сохраняются в выходном файле, только если PreserveWhitespace задано значение true.

XmlDeclaration текущего XmlDocument объекта определяет атрибут кодирования в сохраненном документе. Значение атрибута кодирования берется из XmlDeclaration.Encoding свойства. XmlDocument Если xmlDeclaration отсутствует или xmlDeclaration не имеет атрибута кодирования, сохраненный документ не будет иметь ни одного из них.

При сохранении документа атрибуты xmlns создаются для правильного сохранения удостоверения узла (локального имени и URI пространства имен). Например, следующий код C#

XmlDocument doc = new XmlDocument();  
doc.AppendChild(doc.CreateElement("item","urn:1"));  
doc.Save(Console.Out);  

создает этот атрибут <item xmls="urn:1"/>XMLS.

Этот метод является расширением Майкрософт для модели объектов документов (DOM).

Обратите внимание, что только Save метод применяет xml-документ с правильным форматом. Все остальные Save перегрузки гарантируют только хорошо сформированный фрагмент.

Применяется к

Save(XmlWriter)

Сохраняет XML-документ в указанном XmlWriter.

public:
 virtual void Save(System::Xml::XmlWriter ^ w);
public virtual void Save (System.Xml.XmlWriter w);
abstract member Save : System.Xml.XmlWriter -> unit
override this.Save : System.Xml.XmlWriter -> unit
Public Overridable Sub Save (w As XmlWriter)

Параметры

w
XmlWriter

Объект XmlWriter, в котором необходимо выполнить сохранение.

Исключения

Операция не приведет к созданию XML-документа с правильным форматом (например, в документе не будет элемента документа или будут повторяющиеся XML-объявления).

Примеры

В следующем примере XML загружается в XmlDocument объект и сохраняется в файл.

#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
int main()
{
   
   // Create the XmlDocument.
   XmlDocument^ doc = gcnew XmlDocument;
   doc->LoadXml( "<item><name>wrench</name></item>" );
   
   // Add a price element.
   XmlElement^ newElem = doc->CreateElement( "price" );
   newElem->InnerText = "10.95";
   doc->DocumentElement->AppendChild( newElem );
   
   // Save the document to a file and auto-indent the output.
   XmlTextWriter^ writer = gcnew XmlTextWriter( "data.xml", nullptr );
   writer->Formatting = Formatting::Indented;
   doc->Save( writer );
}

using System;
using System.Xml;

public class Sample {

  public static void Main() {

    // Create the XmlDocument.
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<item><name>wrench</name></item>");

   // Add a price element.
   XmlElement newElem = doc.CreateElement("price");
   newElem.InnerText = "10.95";
   doc.DocumentElement.AppendChild(newElem);

   XmlWriterSettings settings = new XmlWriterSettings();
   settings.Indent = true;
   // Save the document to a file and auto-indent the output.
   XmlWriter writer = XmlWriter.Create("data.xml", settings);
    doc.Save(writer);
  }
}
Imports System.Xml

public class Sample 

  public shared sub Main() 
 
    ' Create the XmlDocument.
    Dim doc as XmlDocument = new XmlDocument()
    doc.LoadXml("<item><name>wrench</name></item>")

   ' Add a price element.
   Dim newElem as XmlElement = doc.CreateElement("price")
   newElem.InnerText = "10.95"
   doc.DocumentElement.AppendChild(newElem)

   Dim settings As New XmlWriterSettings()
   settings.Indent = True
   ' Save the document to a file and auto-indent the output.
   Dim writer As XmlWriter = XmlWriter.Create("data.xml", settings)
    doc.Save(writer)
  end sub
end class

Комментарии

Пробелы сохраняются, только если PreserveWhitespace задано значение true.

Кодировка в кодировании XmlWriter определяет кодирование, записанное (кодировка узла XmlDeclaration заменяется кодировкой ).XmlWriter Если в кодировке XmlWriterне указано, сохраняется XmlDocument без атрибута кодирования.

При сохранении документа атрибуты xmlns создаются для правильного сохранения удостоверения узла (LocalName + NamespaceURI). Например, следующий код C#

XmlDocument doc = new XmlDocument();  
doc.AppendChild(doc.CreateElement("item","urn:1"));  
doc.Save(Console.Out);  

создает этот атрибут XMLS:

<item  
    xmls="urn:1"/>  

Этот метод является расширением Майкрософт для модели объектов документов (DOM).

Обратите внимание, что только Save метод применяет xml-документ с правильным форматом. Все остальные Save перегрузки гарантируют только хорошо сформированный фрагмент.

См. также раздел

Применяется к