XStreamingElement.Save Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Сериализует данный потоковый элемент. Результат может быть сохранен в файле (XmlTextWriter, TextWriter или 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 в указанный поток 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)
Параметры
Комментарии
Сериализованный XML-код будет отступом. Все незначительные пробелы будут удалены, и будет добавлен дополнительный пробел, чтобы XML-код был правильно отступен. Поведение этого метода заключается в том, что незначительные пробелы не будут сохранены.
Если вы хотите управлять пробелами, используйте перегрузку Save , которая принимает SaveOptions в качестве параметра. DisableFormatting Используйте параметр для сохранения неиндедентного XML. Это приведет к тому, что модуль записи записывает все пробелы точно так же, как показано в XML-дереве.
Используйте OmitDuplicateNamespaces параметр, если требуется удалить повторяющиеся объявления пространства имен.
Применяется к
Save(TextWriter)
Сериализует данный потоковый элемент в 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)
Сериализует данный потоковый элемент в файл.
public:
void Save(System::String ^ fileName);
public void Save (string fileName);
member this.Save : string -> unit
Public Sub Save (fileName As 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)
Сериализует данный потоковый элемент в объект 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)
Параметры
Примеры
В следующем примере создается 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 в указанный поток 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)
Параметры
- options
- SaveOptions
Объект SaveOptions, определяющий форматирование.
Комментарии
По умолчанию options
задано значение None. Этот параметр приведет к удалению всех лишних незначительных пробелов и добавит соответствующие незначительные пробелы, чтобы XML правильно отступил.
Если вы хотите сохранить неундентный XML- код, укажите DisableFormatting флаг для options
. Это приведет к тому, что модуль записи записывает все пробелы точно так же, как показано в XML-дереве.
Используйте OmitDuplicateNamespaces параметр, если требуется удалить повторяющиеся объявления пространства имен.
Применяется к
Save(TextWriter, SaveOptions)
Сериализует данный потоковый элемент в объект 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)
Сериализует данный потоковый элемент в файл, дополнительно отключая форматирование.
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)
Параметры
- 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 и сохранении пробелов при сериализации.