XStreamingElement.Save Метод

Определение

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

Перегрузки

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

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

Save(TextWriter)

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

Save(String)

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

Save(XmlWriter)

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

Save(Stream, SaveOptions)

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

Save(TextWriter, SaveOptions)

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

Save(String, SaveOptions)

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

Save(Stream)

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

Выводит это XStreamingElement в указанный 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

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

Комментарии

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

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

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

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

Save(TextWriter)

Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.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 том, что XStreamingElement будет записано.

Примеры

В следующем примере создается исходное XML-дерево, а затем создается XStreamingElement экземпляр запроса в исходном xml-дереве. Затем он записывает элемент потоковой передачи в объект StringWriter.

XElement srcTree = new XElement("Root",
                       new XElement("Child", 1),
                       new XElement("Child", 2),
                       new XElement("Child", 3),
                       new XElement("Child", 4),
                       new XElement("Child", 5)
                   );

XStreamingElement dstTree = new XStreamingElement("NewRoot",
                        from el in srcTree.Elements()
                        where (int)el >= 3
                        select new XElement("DifferentChild", (int)el)
                    );

StringBuilder sb = new StringBuilder();
dstTree.Save(new StringWriter(sb));
Console.WriteLine(sb.ToString());
Dim srcTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <Child>3</Child>
        <Child>4</Child>
        <Child>5</Child>
    </Root>

Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
                        From el In srcTree.Elements() _
                        Where el.Value >= 3 _
                        Select <DifferentChild><%= el.Value %></DifferentChild> _
                    )

Dim sb As StringBuilder = New StringBuilder()
dstTree.Save(New StringWriter(sb))
Console.WriteLine(sb.ToString())

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

<?xml version="1.0" encoding="utf-16"?>
<NewRoot>
  <DifferentChild>3</DifferentChild>
  <DifferentChild>4</DifferentChild>
  <DifferentChild>5</DifferentChild>
</NewRoot>

Комментарии

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

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

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

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

Save(String)

Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.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 содержащее имя файла.

Примеры

В следующем примере создается дерево XML потоковой передачи. Затем он сериализует xml-дерево потоковой передачи в файл.

XElement srcTree = new XElement("Root",
                       new XElement("Child", 1),
                       new XElement("Child", 2),
                       new XElement("Child", 3),
                       new XElement("Child", 4),
                       new XElement("Child", 5)
                   );

XStreamingElement dstTree = new XStreamingElement("NewRoot",
                        from el in srcTree.Elements()
                        where (int)el >= 3
                        select new XElement("DifferentChild", (int)el)
                    );

dstTree.Save("Test.xml");
Console.WriteLine(File.ReadAllText("Test.xml"));
Dim srcTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <Child>3</Child>
        <Child>4</Child>
        <Child>5</Child>
    </Root>

Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
                        From el In srcTree.Elements() _
                        Where el.Value >= 3 _
                        Select <DifferentChild><%= el.Value %></DifferentChild> _
                    )

dstTree.Save("Test.xml")
Console.WriteLine(File.ReadAllText("Test.xml"))

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

<?xml version="1.0" encoding="utf-8"?>
<NewRoot>
  <DifferentChild>3</DifferentChild>
  <DifferentChild>4</DifferentChild>
  <DifferentChild>5</DifferentChild>
</NewRoot>

Комментарии

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

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

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

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

Save(XmlWriter)

Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.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 будет записано.

Примеры

В следующем примере создается XStreamingElement и записывается в объект XmlWriter.

XElement srcTree = new XElement("Root",
                       new XElement("Child", 1),
                       new XElement("Child", 2),
                       new XElement("Child", 3),
                       new XElement("Child", 4),
                       new XElement("Child", 5)
                   );

StringBuilder sb = new StringBuilder();
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
using (XmlWriter xw = XmlWriter.Create(sb, xws))
{
    XStreamingElement dstTree = new XStreamingElement("NewRoot",
                            from el in srcTree.Elements()
                            where (int)el == 5
                            select new XElement("DifferentChild", (int)el)
                        );

    dstTree.Save(xw);
}
Console.WriteLine(sb.ToString());
Dim srcTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <Child>3</Child>
        <Child>4</Child>
        <Child>5</Child>
    </Root>

Dim sb As StringBuilder = New StringBuilder()
Dim xws As XmlWriterSettings = New XmlWriterSettings()
xws.OmitXmlDeclaration = True
Using xw As XmlWriter = XmlWriter.Create(sb, xws)
    Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
                            From el In srcTree.Elements() _
                            Where el.Value = 5 _
                            Select <DifferentChild><%= el.Value %></DifferentChild> _
                        )
    dstTree.Save(xw)
End Using
Console.WriteLine(sb.ToString())

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

<NewRoot><DifferentChild>5</DifferentChild></NewRoot>

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

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

Save(Stream, SaveOptions)

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

Выводит это XStreamingElement в указанный 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

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

options
SaveOptions

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

Комментарии

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

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

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

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

Save(TextWriter, SaveOptions)

Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.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 указывающее поведение форматирования.

Примеры

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

XElement srcTree = new XElement("Root",
                       new XElement("Child", 1),
                       new XElement("Child", 2),
                       new XElement("Child", 3),
                       new XElement("Child", 4),
                       new XElement("Child", 5)
                   );

XStreamingElement dstTree = new XStreamingElement("NewRoot",
                        from el in srcTree.Elements()
                        where (int)el == 3
                        select new XElement("DifferentChild", (int)el)
                    );

StringBuilder sb = new StringBuilder();
dstTree.Save(new StringWriter(sb), SaveOptions.DisableFormatting);
Console.WriteLine(sb.ToString());
Console.WriteLine("------");
sb = new StringBuilder();
dstTree.Save(new StringWriter(sb), SaveOptions.None);
Console.WriteLine(sb.ToString());
Dim srcTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <Child>3</Child>
        <Child>4</Child>
        <Child>5</Child>
    </Root>

Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
                        From el In srcTree.Elements() _
                        Where el.Value = 3 _
                        Select <DifferentChild><%= el.Value %></DifferentChild> _
                    )

Dim sb As StringBuilder = New StringBuilder()
dstTree.Save(New StringWriter(sb), SaveOptions.DisableFormatting)
Console.WriteLine(sb.ToString())
Console.WriteLine("------")
sb = New StringBuilder()
dstTree.Save(New StringWriter(sb), SaveOptions.None)
Console.WriteLine(sb.ToString())

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

<?xml version="1.0" encoding="utf-16"?><NewRoot><DifferentChild>3</DifferentChild></NewRoot>
------
<?xml version="1.0" encoding="utf-16"?>
<NewRoot>
  <DifferentChild>3</DifferentChild>
</NewRoot>

Комментарии

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

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

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

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

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

Save(String, SaveOptions)

Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.cs
Исходный код:
XStreamingElement.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 поведение форматирования.

Примеры

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

XElement srcTree = new XElement("Root",
                       new XElement("Child", 1),
                       new XElement("Child", 2),
                       new XElement("Child", 3),
                       new XElement("Child", 4),
                       new XElement("Child", 5)
                   );

XStreamingElement dstTree = new XStreamingElement("NewRoot",
                        from el in srcTree.Elements()
                        where (int)el == 3
                        select new XElement("DifferentChild", (int)el)
                    );

dstTree.Save("Test1.xml", SaveOptions.DisableFormatting);
dstTree.Save("Test2.xml", SaveOptions.None);
Console.WriteLine(File.ReadAllText("Test1.xml"));
Console.WriteLine("------");
Console.WriteLine(File.ReadAllText("Test2.xml"));
Dim srcTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <Child>3</Child>
        <Child>4</Child>
        <Child>5</Child>
    </Root>

Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
                        From el In srcTree.Elements() _
                        Where el.Value = 3 _
                        Select <DifferentChild><%= el.Value %></DifferentChild> _
                    )

dstTree.Save("Test1.xml", SaveOptions.DisableFormatting)
dstTree.Save("Test2.xml", SaveOptions.None)
Console.WriteLine(File.ReadAllText("Test1.xml"))
Console.WriteLine("------")
Console.WriteLine(File.ReadAllText("Test2.xml"))

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

<?xml version="1.0" encoding="utf-8"?><NewRoot><DifferentChild>3</DifferentChild></NewRoot>
------
<?xml version="1.0" encoding="utf-8"?>
<NewRoot>
  <DifferentChild>3</DifferentChild>
</NewRoot>

Комментарии

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

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

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

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

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