XDocument Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет XML-документ. Сведения о компонентах и использовании XDocument объекта см. в разделе "Обзор класса XDocument".
public ref class XDocument : System::Xml::Linq::XContainer
public class XDocument : System.Xml.Linq.XContainer
type XDocument = class
inherit XContainer
Public Class XDocument
Inherits XContainer
- Наследование
Примеры
В следующем примере создается документ, а затем добавляется комментарий и элемент в него. Затем он создает другой документ с помощью результатов запроса.
XDocument srcTree = new XDocument(
new XComment("This is a comment"),
new XElement("Root",
new XElement("Child1", "data1"),
new XElement("Child2", "data2"),
new XElement("Child3", "data3"),
new XElement("Child2", "data4"),
new XElement("Info5", "info5"),
new XElement("Info6", "info6"),
new XElement("Info7", "info7"),
new XElement("Info8", "info8")
)
);
XDocument doc = new XDocument(
new XComment("This is a comment"),
new XElement("Root",
from el in srcTree.Element("Root").Elements()
where ((string)el).StartsWith("data")
select el
)
);
Console.WriteLine(doc);
Dim srcTree As XDocument = _
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--This is a comment-->
<Root>
<Child1>data1</Child1>
<Child2>data2</Child2>
<Child3>data3</Child3>
<Child2>data4</Child2>
<Info5>info5</Info5>
<Info6>info6</Info6>
<Info7>info7</Info7>
<Info8>info8</Info8>
</Root>
Dim doc As XDocument = _
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--This is a comment-->
<Root>
<%= From el In srcTree.<Root>.Elements _
Where CStr(el).StartsWith("data") _
Select el %>
</Root>
Console.WriteLine(doc)
В примере получается следующий вывод.
<!--This is a comment-->
<Root>
<Child1>data1</Child1>
<Child2>data2</Child2>
<Child3>data3</Child3>
<Child2>data4</Child2>
</Root>
Комментарии
Дополнительные сведения о XDocument".
Конструкторы
| Имя | Описание |
|---|---|
| XDocument() |
Инициализирует новый экземпляр класса XDocument. |
| XDocument(Object[]) |
Инициализирует новый экземпляр XDocument класса с указанным содержимым. |
| XDocument(XDeclaration, Object[]) |
Инициализирует новый экземпляр XDocument класса с указанным XDeclaration и содержимым. |
| XDocument(XDocument) |
Инициализирует новый экземпляр класса из существующего XDocumentXDocument объекта. |
Свойства
| Имя | Описание |
|---|---|
| BaseUri |
Получает базовый универсальный код ресурса (URI) для этого XObject. (Унаследовано от XObject) |
| Declaration |
Возвращает или задает xml-объявление для этого документа. |
| Document |
XDocument Возвращает значение для этогоXObject. (Унаследовано от XObject) |
| DocumentType |
Возвращает определение типа документа (DTD) для этого документа. |
| FirstNode |
Возвращает первый дочерний узел этого узла. (Унаследовано от XContainer) |
| LastNode |
Возвращает последний дочерний узел этого узла. (Унаследовано от XContainer) |
| NextNode |
Возвращает следующий одноуровневый узел этого узла. (Унаследовано от XNode) |
| NodeType |
Возвращает тип узла для этого узла. |
| Parent |
Возвращает родительский элемент XElement этого XObjectэлемента. (Унаследовано от XObject) |
| PreviousNode |
Возвращает предыдущий одноуровневый узел этого узла. (Унаследовано от XNode) |
| Root |
Возвращает корневой элемент дерева XML для этого документа. |
Методы
| Имя | Описание |
|---|---|
| Add(Object) |
Добавляет указанное содержимое в качестве дочерних элементов этого XContainerэлемента. (Унаследовано от XContainer) |
| Add(Object[]) |
Добавляет указанное содержимое в качестве дочерних элементов этого XContainerэлемента. (Унаследовано от XContainer) |
| AddAfterSelf(Object) |
Добавляет указанное содержимое сразу после этого узла. (Унаследовано от XNode) |
| AddAfterSelf(Object[]) |
Добавляет указанное содержимое сразу после этого узла. (Унаследовано от XNode) |
| AddAnnotation(Object) |
Добавляет объект в список заметок этого XObjectобъекта. (Унаследовано от XObject) |
| AddBeforeSelf(Object) |
Добавляет указанное содержимое непосредственно перед этим узлом. (Унаследовано от XNode) |
| AddBeforeSelf(Object[]) |
Добавляет указанное содержимое непосредственно перед этим узлом. (Унаследовано от XNode) |
| AddFirst(Object) |
Добавляет указанное содержимое в качестве первых дочерних элементов этого документа или элемента. (Унаследовано от XContainer) |
| AddFirst(Object[]) |
Добавляет указанное содержимое в качестве первых дочерних элементов этого документа или элемента. (Унаследовано от XContainer) |
| Ancestors() |
Возвращает коллекцию предки элементов этого узла. (Унаследовано от XNode) |
| Ancestors(XName) |
Возвращает отфильтрованную коллекцию предков элементов этого узла. В коллекцию включены только элементы с соответствующими XName. (Унаследовано от XNode) |
| Annotation(Type) |
Получает первый объект заметки указанного типа из этого XObject. (Унаследовано от XObject) |
| Annotation<T>() |
Получает первый объект заметки указанного типа из этого XObject. (Унаследовано от XObject) |
| Annotations(Type) |
Возвращает коллекцию заметок указанного типа для этого XObject. (Унаследовано от XObject) |
| Annotations<T>() |
Возвращает коллекцию заметок указанного типа для этого XObject. (Унаследовано от XObject) |
| CreateReader() |
XmlReader Создает для этого узла. (Унаследовано от XNode) |
| CreateReader(ReaderOptions) |
XmlReader Создает параметр с параметрами, указанными параметром |
| CreateWriter() |
Создает объект XmlWriter , который можно использовать для добавления узлов в объект XContainer. (Унаследовано от XContainer) |
| DescendantNodes() |
Возвращает коллекцию потомков для этого документа или элемента в порядке документа. (Унаследовано от XContainer) |
| Descendants() |
Возвращает коллекцию потомков для этого документа или элемента в порядке документа. (Унаследовано от XContainer) |
| Descendants(XName) |
Возвращает отфильтрованную коллекцию элементов-потомков для этого документа или элемента в порядке документа. В коллекцию включены только элементы с соответствующими XName. (Унаследовано от XContainer) |
| Element(XName) |
Возвращает первый дочерний элемент (в порядке документа) с указанным XNameэлементом. (Унаследовано от XContainer) |
| Elements() |
Возвращает коллекцию дочерних элементов этого элемента или документа в порядке документа. (Унаследовано от XContainer) |
| Elements(XName) |
Возвращает отфильтрованную коллекцию дочерних элементов этого элемента или документа в порядке документа. В коллекцию включены только элементы с соответствующими XName. (Унаследовано от XContainer) |
| ElementsAfterSelf() |
Возвращает коллекцию одноуровневых элементов после этого узла в порядке документа. (Унаследовано от XNode) |
| ElementsAfterSelf(XName) |
Возвращает отфильтрованную коллекцию элементов-братьев после этого узла в порядке документа. В коллекцию включены только элементы с соответствующими XName. (Унаследовано от XNode) |
| ElementsBeforeSelf() |
Возвращает коллекцию одноуровневых элементов перед этим узлом в порядке документа. (Унаследовано от XNode) |
| ElementsBeforeSelf(XName) |
Возвращает отфильтрованную коллекцию элементов-братьев перед этим узлом в порядке документа. В коллекцию включены только элементы с соответствующими XName. (Унаследовано от XNode) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IsAfter(XNode) |
Определяет, отображается ли текущий узел после указанного узла с точки зрения порядка документов. (Унаследовано от XNode) |
| IsBefore(XNode) |
Определяет, отображается ли текущий узел перед указанным узлом с точки зрения порядка документов. (Унаследовано от XNode) |
| Load(Stream, LoadOptions) |
Создает новый XDocument экземпляр с помощью указанного потока, при необходимости сохраняя пробелы, устанавливая базовый универсальный код ресурса (URI) и сохраняя сведения о строке. |
| Load(Stream) |
Создает новый XDocument экземпляр с помощью указанного потока. |
| Load(String, LoadOptions) |
Создает новое из XDocument файла, при необходимости сохраняя пробелы, устанавливая базовый универсальный код ресурса (URI) и сохраняя сведения о строке. |
| Load(String) |
Создает новое из XDocument файла. |
| Load(TextReader, LoadOptions) |
Создает новое из XDocumentTextReader, при необходимости сохраняя пробелы, устанавливая базовый универсальный код ресурса (URI) и сохраняя сведения о строке. |
| Load(TextReader) |
Создает новое из XDocumentTextReader. |
| Load(XmlReader, LoadOptions) |
Загружается из , при необходимости устанавливая базовый XDocumentXmlReaderуниверсальный код ресурса (URI) и сохраняя сведения о строке. |
| Load(XmlReader) | |
| LoadAsync(Stream, LoadOptions, CancellationToken) |
Асинхронно создает новый XDocument и инициализирует его базовое XML-дерево из указанного потока, при необходимости сохраняя пробелы. |
| LoadAsync(TextReader, LoadOptions, CancellationToken) |
Создает новое XDocument и инициализирует его базовое XML-дерево с помощью указанного TextReader параметра, при необходимости сохраняя пробелы. |
| LoadAsync(XmlReader, LoadOptions, CancellationToken) |
Создает новое XDocument , содержащее содержимое указанного XmlReaderобъекта. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| Nodes() |
Возвращает коллекцию дочерних узлов этого элемента или документа в порядке документа. (Унаследовано от XContainer) |
| NodesAfterSelf() |
Возвращает коллекцию одноуровневых узлов после этого узла в порядке документа. (Унаследовано от XNode) |
| NodesBeforeSelf() |
Возвращает коллекцию одноуровневых узлов перед этим узлом в порядке документа. (Унаследовано от XNode) |
| Parse(String, LoadOptions) |
Создает новое из XDocument строки, при необходимости сохраняя пробелы, устанавливая базовый универсальный код ресурса (URI) и сохраняя сведения о строке. |
| Parse(String) |
Создает новое из XDocument строки. |
| Remove() |
Удаляет этот узел из родительского элемента. (Унаследовано от XNode) |
| RemoveAnnotations(Type) |
Удаляет заметки указанного типа из этого XObject. (Унаследовано от XObject) |
| RemoveAnnotations<T>() |
Удаляет заметки указанного типа из этого XObject. (Унаследовано от XObject) |
| RemoveNodes() |
Удаляет дочерние узлы из этого документа или элемента. (Унаследовано от XContainer) |
| ReplaceNodes(Object) |
Заменяет дочерние узлы этого документа или элемента указанным содержимым. (Унаследовано от XContainer) |
| ReplaceNodes(Object[]) |
Заменяет дочерние узлы этого документа или элемента указанным содержимым. (Унаследовано от XContainer) |
| ReplaceWith(Object) |
Заменяет этот узел указанным содержимым. (Унаследовано от XNode) |
| ReplaceWith(Object[]) |
Заменяет этот узел указанным содержимым. (Унаследовано от XNode) |
| Save(Stream, SaveOptions) |
Выводит это XDocument в указанный Streamпараметр, при необходимости указывая поведение форматирования. |
| Save(Stream) | |
| Save(String, SaveOptions) |
Сериализуйте его XDocument в файл, при необходимости отключая форматирование. |
| Save(String) |
Сериализируйте его XDocument в файл, перезаписав существующий файл, если он существует. |
| Save(TextWriter, SaveOptions) |
Сериализуйте его XDocument в TextWriterзначение ,необязательно отключая форматирование. |
| Save(TextWriter) |
Сериализуйте это XDocument в объект TextWriter. |
| Save(XmlWriter) | |
| SaveAsync(Stream, SaveOptions, CancellationToken) | |
| SaveAsync(TextWriter, SaveOptions, CancellationToken) |
Записывает это XDocument в TextWriter. |
| SaveAsync(XmlWriter, CancellationToken) | |
| ToString() |
Возвращает отступ xml для этого узла. (Унаследовано от XNode) |
| ToString(SaveOptions) |
Возвращает XML-код для этого узла, при необходимости отключая форматирование. (Унаследовано от XNode) |
| WriteTo(XmlWriter) |
Напишите этот документ в объект XmlWriter. |
| WriteToAsync(XmlWriter, CancellationToken) |
Записывает базовое XML-дерево XDocument в указанное XmlWriter. |
События
| Имя | Описание |
|---|---|
| Changed |
Вызывается, когда это XObject или любой из его потомков изменились. (Унаследовано от XObject) |
| Changing |
Вызывается, когда это XObject или любой из его потомков собираются изменить. (Унаследовано от XObject) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IXmlLineInfo.HasLineInfo() |
Возвращает значение, указывающее, имеет ли эта XObject строка сведения. (Унаследовано от XObject) |
| IXmlLineInfo.LineNumber |
Возвращает номер строки, сообщаемой базовой XmlReader строкой для этого XObject. (Унаследовано от XObject) |
| IXmlLineInfo.LinePosition |
Возвращает позицию строки, которая отображается в базовом XmlReader отчете для этого XObject. (Унаследовано от XObject) |
Методы расширения
| Имя | Описание |
|---|---|
| CreateNavigator(XNode, XmlNameTable) |
XPathNavigator Создает объект для XNode. Это XmlNameTable обеспечивает более эффективную обработку выражений XPath. |
| CreateNavigator(XNode) |
XPathNavigator Создает объект для XNode. |
| ToXPathNavigable(XNode) |
Возвращает метод доступа, позволяющий перемещаться и изменять указанный объект XNode. |
| Validate(XDocument, XmlSchemaSet, ValidationEventHandler, Boolean) |
Проверяет, соответствует ли XDocument XSD в XmlSchemaSetxml-дереве при необходимости заполнение XML-дерева набором сведений после проверки схемы (PSVI). |
| Validate(XDocument, XmlSchemaSet, ValidationEventHandler) |
Этот метод проверяет соответствие XDocument XSD в объекте XmlSchemaSet. |
| XPathEvaluate(XNode, String, IXmlNamespaceResolver) |
Вычисляет выражение XPath, разрешая префиксы пространства имен с помощью указанного.IXmlNamespaceResolver |
| XPathEvaluate(XNode, String) |
Вычисляет выражение XPath. |
| XPathSelectElement(XNode, String, IXmlNamespaceResolver) |
XElement Выбирает выражение XPath, разрешая префиксы пространства имен с помощью указанного.IXmlNamespaceResolver |
| XPathSelectElement(XNode, String) |
XElement Выбирает выражение XPath. |
| XPathSelectElements(XNode, String, IXmlNamespaceResolver) |
Выбирает коллекцию элементов с помощью выражения XPath, разрешая префиксы пространства имен с помощью указанного.IXmlNamespaceResolver |
| XPathSelectElements(XNode, String) |
Выбирает коллекцию элементов с помощью выражения XPath. |