XElement.Save Метод

Определение

Сериализируйте базовое XML-дерево этого элемента. Выходные данные можно сохранить в файле, a XmlTextWriter, a TextWriterили an XmlWriter. При необходимости форматирование (отступ) можно отключить.

Перегрузки

Имя Описание
Save(Stream)

Выводит это XElement в указанный Streamобъект.

Save(TextWriter)

Сериализуйте этот элемент в объект TextWriter.

Save(String)

Сериализуйте этот элемент в файл.

Save(XmlWriter)

Сериализуйте этот элемент в объект XmlWriter.

Save(Stream, SaveOptions)

Выводит это XElement в указанный Streamпараметр, при необходимости указывая поведение форматирования.

Save(TextWriter, SaveOptions)

Сериализуйте этот элемент в значение TextWriter, необязательно отключающее форматирование.

Save(String, SaveOptions)

Сериализуйте этот элемент в файл, при необходимости отключая форматирование.

Save(Stream)

Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs

Выводит это XElement в указанный Streamобъект.

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)

Параметры

stream
Stream

Поток для вывода этого XElement объекта.

Комментарии

Сериализованный XML-код будет отступен. Все незначительные пробелы будут удалены, и будет добавлен дополнительный пробел, чтобы XML-файл был правильно отступен. Поведение этого метода заключается в том, что незначительные пробелы не будут сохранены.

Если вы хотите управлять пробелами, используйте перегрузку Save , которая принимает SaveOptions в качестве параметра. DisableFormatting Используйте параметр для сохранения неустанного XML. Это приведет к тому, что модуль записи записывает все пробелы точно так же, как представлено в дереве XML.

Используйте параметр, OmitDuplicateNamespaces если требуется удалить повторяющиеся объявления пространства имен.

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

Save(TextWriter)

Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs

Сериализуйте этот элемент в объект 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)

Параметры

textWriter
TextWriter

О TextWriter том, что XElement будет записано.

Примеры

В следующем примере создается XElementдокумент, сохраняется в документе StringWriter, а затем выводится строка в консоль.

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

В примере получается следующий вывод.

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

Комментарии

Сериализованный XML-код будет отступен. Все незначительные пробелы будут удалены, и будет добавлен дополнительный пробел, чтобы XML-файл был правильно отступен. Поведение этого метода заключается в том, что пробелы не будут сохранены.

Если вы хотите управлять пробелами, используйте перегрузку Save , которая позволяет указать SaveOptions в качестве параметра. Дополнительные сведения см. в разделе "Сохранение пробелов при загрузке или анализе XML " и сохранении пробелов во время сериализации.

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

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

Save(String)

Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs

Сериализуйте этот элемент в файл.

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

Параметры

fileName
String

Значение, String содержащее имя файла.

Примеры

В следующем примере создается XElementдокумент, сохраняется в файл, а затем выводится файл в консоль.

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)

В примере получается следующий вывод.

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

Комментарии

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

Если вы хотите управлять пробелами, используйте перегрузку Save , которая позволяет указать SaveOptions в качестве параметра. Дополнительные сведения см. в разделе "Сохранение пробелов при загрузке или анализе XML " и сохранении пробелов во время сериализации.

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

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

Save(XmlWriter)

Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs

Сериализуйте этот элемент в объект 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)

Параметры

writer
XmlWriter

О XmlWriter том, что XElement будет записано.

Примеры

В следующем примере показано, как сохранить объект XElement в объекте 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())

В примере получается следующий вывод.

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

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

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

Save(Stream, SaveOptions)

Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs

Выводит это XElement в указанный Streamпараметр, при необходимости указывая поведение форматирования.

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)

Параметры

stream
Stream

Поток для вывода этого XElement объекта.

options
SaveOptions

Объект, указывающий SaveOptions поведение форматирования.

Комментарии

По умолчанию options задано значение None. Этот параметр приведет к удалению всех лишних незначительных пробелов и добавит соответствующее незначительное пробел, чтобы XML правильно отступил.

Если вы хотите сохранить неиндедентный XML, укажите DisableFormatting флаг для options. Это приведет к тому, что модуль записи записывает все пробелы точно так же, как представлено в дереве XML.

Используйте OmitDuplicateNamespaces параметр, если требуется удалить повторяющиеся объявления пространства имен.

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

Save(TextWriter, SaveOptions)

Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs

Сериализуйте этот элемент в значение TextWriter, необязательно отключающее форматирование.

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)

Параметры

textWriter
TextWriter

Выходные TextWriter данные XML.

options
SaveOptions

Значение, SaveOptions указывающее поведение форматирования.

Примеры

В следующем примере показано два использования этого метода. Первое использование сохраняет пробелы. Второй сериализует XElement форматирование. Так как документ не содержит пробелов в нем, как он создан, сохранение пробелов выводит XML без каких-либо отступов.

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

В примере получается следующий вывод.

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

Комментарии

Если вы хотите сохранить неиндедентный XML, укажите DisableFormatting флаг для options. Это приведет к тому, что модуль записи записывает все пробелы точно так же, как представлено в xml-дереве.

Если вы хотите сохранить отступ xml, не указывайте DisableFormatting флаг для options. Это приведет к удалению всех лишних незначительных пробелов и добавит соответствующее незначительное пробелы, чтобы XML правильно отступил. Это поведение по умолчанию и поведение перегрузок Save методов, которые не принимают options в качестве параметра.

Дополнительные сведения см. в разделе "Сохранение пробелов при загрузке или анализе XML " и сохранении пробелов во время сериализации.

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

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

Save(String, SaveOptions)

Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs

Сериализуйте этот элемент в файл, при необходимости отключая форматирование.

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)

Параметры

fileName
String

Значение, String содержащее имя файла.

options
SaveOptions

Значение, SaveOptions указывающее поведение форматирования.

Примеры

В следующем примере показано два использования этого метода. Первое использование сохраняет пробелы. Второй сериализует XElement форматирование.

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)

В примере получается следующий вывод.

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

Комментарии

Если вы хотите сохранить неиндедентный XML, укажите DisableFormatting флаг для options. Это приведет к тому, что модуль записи записывает все пробелы точно так же, как представлено в xml-дереве.

Если вы хотите сохранить отступ xml, не указывайте DisableFormatting флаг для options. Это приведет к удалению всех лишних незначительных пробелов и добавит соответствующее незначительное пробелы, чтобы XML правильно отступил. Это поведение по умолчанию и поведение перегрузок Save методов, которые не принимают options в качестве параметра.

Дополнительные сведения см. в разделе "Сохранение пробелов при загрузке или анализе XML " и сохранении пробелов во время сериализации.

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

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