XDocument.Save Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Сериализует его XDocument в файл, a TextWriterили an XmlWriter.
Перегрузки
| Имя | Описание |
|---|---|
| Save(XmlWriter) | |
| Save(Stream) | |
| Save(TextWriter) |
Сериализуйте это XDocument в объект TextWriter. |
| Save(String) |
Сериализируйте его XDocument в файл, перезаписав существующий файл, если он существует. |
| Save(Stream, SaveOptions) |
Выводит это XDocument в указанный Streamпараметр, при необходимости указывая поведение форматирования. |
| Save(TextWriter, SaveOptions) |
Сериализуйте его XDocument в TextWriterзначение ,необязательно отключая форматирование. |
| Save(String, SaveOptions) |
Сериализуйте его XDocument в файл, при необходимости отключая форматирование. |
Save(XmlWriter)
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
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)
Параметры
Примеры
В следующем примере показано, как сохранить объект XDocument в объекте XmlWriter.
StringBuilder sb = new StringBuilder();
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Indent = true;
using (XmlWriter xw = XmlWriter.Create(sb, xws)) {
XDocument doc = new XDocument(
new XElement("Child",
new XElement("GrandChild", "some content")
)
);
doc.Save(xw);
}
Console.WriteLine(sb.ToString());
Dim sb As StringBuilder = New StringBuilder()
Dim xws As XmlWriterSettings = New XmlWriterSettings()
xws.OmitXmlDeclaration = True
xws.Indent = True
Using xw = XmlWriter.Create(sb, xws)
Dim doc As XDocument = New XDocument(<Child><GrandChild>some content</GrandChild></Child>)
doc.Save(xw)
End Using
Console.WriteLine(sb.ToString())
В примере получается следующий вывод.
<Child>
<GrandChild>some content</GrandChild>
</Child>
См. также раздел
Применяется к
Save(Stream)
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
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)
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
Сериализуйте это XDocument в объект 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 том, что XDocument будет записано.
Примеры
В следующем примере создается XDocumentдокумент, сохраняется в документе StringWriter, а затем выводится строка в консоль.
StringBuilder sb = new StringBuilder();
XDocument doc = new XDocument(
new XElement("Root",
new XElement("Child", "content")
)
);
TextWriter tr = new StringWriter(sb);
doc.Save(tr);
Console.WriteLine(sb.ToString());
Dim sb As StringBuilder = New StringBuilder()
Dim doc As XDocument = _
<?xml version="1.0" encoding="utf-8"?>
<Root><Child>content</Child></Root>
Dim tr As TextWriter = New StringWriter(sb)
doc.Save(tr)
Console.WriteLine(sb.ToString())
В примере получается следующий вывод.
<?xml version="1.0" encoding="utf-16"?>
<Root>
<Child>content</Child>
</Root>
Комментарии
Сериализованный XML-код будет отступен. Все незначительные пробелы будут удалены, и будет добавлен дополнительный пробел, чтобы XML-файл был правильно отступен. Поведение этого метода заключается в том, что незначительные пробелы не будут сохранены.
Если вы хотите управлять пробелами, используйте перегрузку Save , которая принимает SaveOptions в качестве параметра. Дополнительные сведения см. в разделе "Сохранение пробелов при загрузке или анализе XML " и сохранении пробелов во время сериализации.
См. также раздел
Применяется к
Save(String)
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
Сериализируйте его XDocument в файл, перезаписав существующий файл, если он существует.
public:
void Save(System::String ^ fileName);
public void Save(string fileName);
member this.Save : string -> unit
Public Sub Save (fileName As String)
Параметры
- fileName
- String
Строка, содержащая имя файла.
Примеры
В следующем примере создается XDocumentдокумент, сохраняется в файл, а затем выводится файл в консоль.
XDocument doc = new XDocument(
new XElement("Root",
new XElement("Child", "content")
)
);
doc.Save("Root.xml");
Console.WriteLine(File.ReadAllText("Root.xml"));
Dim doc As XDocument = _
<?xml version="1.0" encoding="utf-8"?>
<Root><Child>content</Child></Root>
doc.Save("Root.xml")
Console.WriteLine(File.ReadAllText("Root.xml"))
В примере получается следующий вывод.
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Child>content</Child>
</Root>
Комментарии
Сериализованный XML-код будет отступен. Все незначительные пробелы будут удалены, и будет добавлен дополнительный пробел, чтобы XML-файл был правильно отступен. Поведение этого метода заключается в том, что незначительные пробелы не будут сохранены.
Если вы хотите управлять пробелами, используйте перегрузку Save , которая принимает SaveOptions в качестве параметра. Дополнительные сведения см. в разделе "Сохранение пробелов при загрузке или анализе XML " и сохранении пробелов во время сериализации.
См. также раздел
Применяется к
Save(Stream, SaveOptions)
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
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)
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
Сериализуйте его XDocument в 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 указывающее поведение форматирования.
Примеры
В следующем примере показано два использования этого метода. При первом использовании сериализуется XDocument форматирование. Второй сохраняет пробелы. Так как документ не содержит пробелов в нем, как он создан, сохранение пробелов выводит XML без каких-либо отступов.
XDocument doc = new XDocument(
new XElement("Root",
new XElement("Child", "content")
)
);
StringBuilder sb1 = new StringBuilder();
using (StringWriter sr1 = new StringWriter(sb1)) {
doc.Save(sr1, SaveOptions.None);
Console.WriteLine(sb1.ToString());
}
StringBuilder sb2 = new StringBuilder();
using (StringWriter sr2 = new StringWriter(sb2)) {
doc.Save(sr2, SaveOptions.DisableFormatting);
Console.WriteLine(sb2.ToString());
}
Dim doc As XDocument = _
<?xml version="1.0" encoding="utf-8"?>
<Root><Child>content</Child></Root>
Dim sb1 As StringBuilder = New StringBuilder()
Using sr1 = New StringWriter(sb1)
doc.Save(sr1, SaveOptions.None)
Console.WriteLine(sb1.ToString())
End Using
Dim sb2 As StringBuilder = New StringBuilder()
Using sr2 = New StringWriter(sb2)
doc.Save(sr2, SaveOptions.DisableFormatting)
Console.WriteLine(sb2.ToString())
End Using
В примере получается следующий вывод.
<?xml version="1.0" encoding="utf-16"?>
<Root>
<Child>content</Child>
</Root>
<?xml version="1.0" encoding="utf-16"?><Root><Child>content</Child></Root>
Комментарии
Если вы хотите сохранить неиндедентный XML, укажите DisableFormatting флаг для options. Это приведет к тому, что модуль записи записывает все пробелы точно так же, как представлено в xml-дереве.
Если вы хотите сохранить отступ xml, не указывайте DisableFormatting флаг для options. Это приведет к удалению всех лишних незначительных пробелов и добавит соответствующее незначительное пробелы, чтобы XML правильно отступил. Это поведение по умолчанию и поведение перегрузок Save методов, которые не принимают options в качестве параметра.
Дополнительные сведения см. в разделе "Сохранение пробелов при загрузке или анализе XML " и сохранении пробелов во время сериализации.
См. также раздел
Применяется к
Save(String, SaveOptions)
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
Сериализуйте его XDocument в файл, при необходимости отключая форматирование.
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
Строка, содержащая имя файла.
- options
- SaveOptions
Значение, SaveOptions указывающее поведение форматирования.
Примеры
В следующем примере показано два использования этого метода. Первое использование сохраняет пробелы. Второй сериализует XDocument отступ.
XDocument doc = new XDocument(
new XElement("Root",
new XElement("Child", "content")
)
);
doc.Save("Root1.xml", SaveOptions.DisableFormatting);
Console.WriteLine(File.ReadAllText("Root1.xml"));
doc.Save("Root2.xml", SaveOptions.None);
Console.WriteLine(File.ReadAllText("Root2.xml"));
Dim doc As XDocument = _
<?xml version="1.0" encoding="utf-8"?>
<Root><Child>content</Child></Root>
doc.Save("Root1.xml", SaveOptions.DisableFormatting)
Console.WriteLine(File.ReadAllText("Root1.xml"))
doc.Save("Root2.xml", SaveOptions.None)
Console.WriteLine(File.ReadAllText("Root2.xml"))
В примере получается следующий вывод.
<?xml version="1.0" encoding="utf-8"?><Root><Child>content</Child></Root>
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Child>content</Child>
</Root>
Комментарии
Если вы хотите сохранить неиндедентный XML, укажите DisableFormatting флаг для options. Это приведет к тому, что модуль записи записывает все пробелы точно так же, как представлено в xml-дереве.
Если вы хотите сохранить отступ xml, не указывайте DisableFormatting флаг для options. Это приведет к удалению всех лишних незначительных пробелов и добавит соответствующее незначительное пробелы, чтобы XML правильно отступил. Это поведение по умолчанию и поведение перегрузок Save методов, которые не принимают options в качестве параметра.
Дополнительные сведения см. в разделе "Сохранение пробелов при загрузке или анализе XML " и сохранении пробелов во время сериализации.
См. также раздел
- WriteTo(XmlWriter)
- Load
- Parse
- Обзор LINQ to XML
- Практическое руководство. Чтение и запись закодированного документа