XElement Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет элемент XML. Сведения об использовании и примеры см. в разделе Общие сведения о классе XElement и в подразделе "Примечания" на этой странице.
public ref class XElement : System::Xml::Linq::XContainer, System::Xml::Serialization::IXmlSerializable
public ref class XElement : System::Xml::Linq::XContainer
public class XElement : System.Xml.Linq.XContainer, System.Xml.Serialization.IXmlSerializable
public class XElement : System.Xml.Linq.XContainer
type XElement = class
inherit XContainer
interface IXmlSerializable
type XElement = class
inherit XContainer
Public Class XElement
Inherits XContainer
Implements IXmlSerializable
Public Class XElement
Inherits XContainer
- Наследование
- Реализации
Примеры
В следующем примере создается XML-дерево. Содержимое нового элемента поступает из запроса LINQ.
XElement xmlTree1 = new XElement("Root",
new XElement("Child1", 1),
new XElement("Child2", 2),
new XElement("Child3", 3),
new XElement("Child4", 4),
new XElement("Child5", 5),
new XElement("Child6", 6)
);
XElement xmlTree2 = new XElement("Root",
from el in xmlTree1.Elements()
where((int)el >= 3 && (int)el <= 5)
select el
);
Console.WriteLine(xmlTree2);
Dim xmlTree1 As XElement = _
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
<Child6>6</Child6>
</Root>
Dim xmlTree2 As XElement = _
<Root>
<%= From el In xmlTree1.Elements() _
Where el.Value >= 3 And el.Value <= 5 _
Select el %>
</Root>
Console.WriteLine(xmlTree2)
В этом примере выводятся следующие данные:
<Root>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
Ниже приведен тот же пример, но в этом случае XML находится в пространстве имен. Дополнительные сведения см. в статье Работа с пространствами имен XML.
XNamespace aw = "http://www.adventure-works.com";
XElement xmlTree1 = new XElement(aw + "Root",
new XElement(aw + "Child1", 1),
new XElement(aw + "Child2", 2),
new XElement(aw + "Child3", 3),
new XElement(aw + "Child4", 4),
new XElement(aw + "Child5", 5),
new XElement(aw + "Child6", 6)
);
XElement xmlTree2 = new XElement(aw + "Root",
from el in xmlTree1.Elements()
where((int)el >= 3 && (int)el <= 5)
select el
);
Console.WriteLine(xmlTree2);
Imports <xmlns="http://www.adventure-works.com">
Module Module1
Sub Main()
Dim xmlTree1 As XElement = _
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
<Child6>6</Child6>
</Root>
Dim xmlTree2 As XElement = _
<Root>
<%= From el In xmlTree1.Elements() _
Where el.Value >= 3 And el.Value <= 5 _
Select el %>
</Root>
Console.WriteLine(xmlTree2)
End SUb
End Module
В этом примере выводятся следующие данные:
<Root xmlns="http://www.adventure-works.com">
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
Комментарии
Этот класс представляет xml-элемент, фундаментальную конструкцию XML. Другие сведения об использовании см. в разделе Общие сведения о классах XElement .
Элемент имеет XName, при необходимости один или несколько атрибутов и при необходимости может содержать содержимое (дополнительные сведения см. в разделе Nodes).
Может XElement содержать следующие типы содержимого:
Дополнительные сведения о допустимом содержимом см. в XElementразделе Допустимое содержимое объектов XElement и XDocument.
XElement наследуется от XContainer, который является производным от XNode.
Некоторые XElement методы можно использовать из XAML. Дополнительные сведения см. в разделе Динамические свойства LINQ to XML.
Конструкторы
| XElement(XElement) |
Инициализирует новый экземпляр класса XElement из другого объекта XElement. |
| XElement(XName) |
Инициализирует новый экземпляр класса XElement с указанным именем. |
| XElement(XName, Object) |
Инициализирует новый экземпляр класса XElement с указанными именем и содержимым. |
| XElement(XName, Object[]) |
Инициализирует новый экземпляр класса XElement с указанными именем и содержимым. |
| XElement(XStreamingElement) |
Инициализирует новый экземпляр класса XElement из объекта XStreamingElement. |
Свойства
| BaseUri |
Получение базового URI для данного XObject. (Унаследовано от XObject) |
| Document |
Получает объект XDocument для данного элемента XObject. (Унаследовано от XObject) |
| EmptySequence |
Возвращает пустую коллекцию элементов. |
| FirstAttribute |
Возвращает первый атрибут этого элемента. |
| FirstNode |
Получает первый дочерний узел от этого узла. (Унаследовано от XContainer) |
| HasAttributes |
Возвращает значение, указывающее, есть ли у этого элемента хотя бы один атрибут. |
| HasElements |
Возвращает значение, указывающее, есть ли у этого элемента хотя бы один дочерний элемент. |
| IsEmpty |
Возвращает значение, указывающее, имеет ли данный элемент содержимое. |
| LastAttribute |
Возвращает последний атрибут этого элемента. |
| LastNode |
Получает последний дочерний узел от этого узла. (Унаследовано от XContainer) |
| Name |
Возвращает или задает имя этого элемента. |
| NextNode |
Возвращает для данного узла следующий узел того же уровня. (Унаследовано от XNode) |
| NodeType |
Возвращает тип узла для этого узла. |
| Parent |
Возвращает родительский объект XElement этого объекта XObject. (Унаследовано от XObject) |
| PreviousNode |
Возвращает предыдущий узел того же уровня для данного узла. (Унаследовано от XNode) |
| Value |
Возвращает или задает сцепленное текстовое содержимое этого элемента. |
Методы
| 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) |
| AncestorsAndSelf() |
Возвращает коллекцию элементов, содержащих данный элемент или являющихся его предшественниками. |
| AncestorsAndSelf(XName) |
Возвращает фильтрованную коллекцию элементов, содержащих данный элемент или являющихся его предшественниками. В коллекцию включаются только элементы, соответствующие XName. |
| Annotation(Type) |
Получение первого объекта примечаний заданного типа из данного XObject. (Унаследовано от XObject) |
| Annotation<T>() |
Получение первого объекта примечаний заданного типа из данного XObject. (Унаследовано от XObject) |
| Annotations(Type) |
Получение коллекции примечаний заданного типа для данного XObject. (Унаследовано от XObject) |
| Annotations<T>() |
Получение коллекции примечаний заданного типа для данного XObject. (Унаследовано от XObject) |
| Attribute(XName) |
Возвращает атрибут XAttribute данного элемента XElement, имеющий указанное имя XName. |
| Attributes() |
Возвращает коллекцию атрибутов этого элемента. |
| Attributes(XName) |
Возвращает фильтрованную коллекцию атрибутов этого элемента. В коллекцию включаются только атрибуты, соответствующие XName. |
| CreateReader() |
Создает объект XmlReader для данного узла. (Унаследовано от XNode) |
| CreateReader(ReaderOptions) |
Создает объект XmlReader с характеристиками, заданными параметром |
| CreateWriter() |
Создает XmlWriter, который можно использовать для добавления узлов в XContainer. (Унаследовано от XContainer) |
| DescendantNodes() |
Возвращает коллекцию подчиненных узлов для документа или элемента в порядке следования документов. (Унаследовано от XContainer) |
| DescendantNodesAndSelf() |
Возвращает коллекцию узлов, содержащих данный элемент или являющихся его потомками, в порядке их следования в документе. |
| Descendants() |
Возвращает коллекцию подчиненных узлов для данного документа или элемента в порядке следования документов. (Унаследовано от XContainer) |
| Descendants(XName) |
Возвращает фильтрованную коллекцию подчиненных узлов для данного документа или элемента в порядке следования документов. В коллекцию включаются только элементы, соответствующие XName. (Унаследовано от XContainer) |
| DescendantsAndSelf() |
Возвращает коллекцию элементов, содержащих данный элемент или являющихся его потомками, в порядке их следования в документе. |
| DescendantsAndSelf(XName) |
Возвращает фильтрованную коллекцию элементов, содержащих данный элемент или являющихся его потомками, в порядке их следования в документе. В коллекцию включаются только элементы, соответствующие XName. |
| 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) |
| GetDefaultNamespace() |
Получает пространство имен XNamespace по умолчанию данного объекта XElement. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetNamespaceOfPrefix(String) |
Получает пространство имен, связанное с определенным префиксом для данного элемента XElement. |
| GetPrefixOfNamespace(XNamespace) |
Получает префикс, связанный с пространством имен для данного элемента XElement. |
| GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
| IsAfter(XNode) |
Определяет, следует ли текущий узел за указанным в последовательности их расположения в документе. (Унаследовано от XNode) |
| IsBefore(XNode) |
Определяет, предшествует ли текущий узел указанному в последовательности их расположения в документе. (Унаследовано от XNode) |
| Load(Stream) |
Создает новый экземпляр XElement с помощью указанного потока. |
| Load(Stream, LoadOptions) |
Создает новый экземплярXElement, используя указанный поток и при необходимости оставляя пустое пространство, задавая базовый URI и сохраняя сведения о строках. |
| Load(String) |
Загружает XElement из файла. |
| Load(String, LoadOptions) |
Загружает XElement из файла, по требованию сохраняет пустое пространство, задает базовый URI и сведения о строке. |
| Load(TextReader) |
Загружает XElement из TextReader. |
| Load(TextReader, LoadOptions) |
Загружает элемент XElement из объекта TextReader, при необходимости сохраняя пробелы и сведения о строке. |
| Load(XmlReader) | |
| Load(XmlReader, LoadOptions) |
Загружает элемент XElement из объекта XmlReader, при необходимости оставляя пустое пространство, задавая базовый URI и сохраняя сведения о строке. |
| LoadAsync(Stream, LoadOptions, CancellationToken) |
Асинхронно создает элемент XElement и инициализирует его базовое дерево XML с помощью указанного потока, при необходимости сохраняя пробелы. |
| LoadAsync(TextReader, LoadOptions, CancellationToken) |
Асинхронно создает элемент XElement и инициализирует его базовое дерево XML с помощью указанного модуля чтения, при необходимости сохраняя пробелы. |
| LoadAsync(XmlReader, LoadOptions, CancellationToken) |
Асинхронно создает элемент XElement и инициализирует его базовое дерево XML с помощью указанного модуля чтения XML, при необходимости сохраняя пробелы. |
| MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
| Nodes() |
Возвращает коллекцию дочерних узлов для данного документа или элемента в порядке следования документа. (Унаследовано от XContainer) |
| NodesAfterSelf() |
Возвращает после данного узла коллекцию узлов того же уровня в порядке их следования в документе. (Унаследовано от XNode) |
| NodesBeforeSelf() |
Возвращает перед данным узлом коллекцию узлов того же уровня в порядке их следования в документе. (Унаследовано от XNode) |
| Parse(String) |
Загрузка XElement из строки, содержащей XML. |
| Parse(String, LoadOptions) |
Загрузка элемента XElement из строки, содержащей XML, при необходимости с сохранением пробелов и сведений о строке. |
| Remove() |
Удаляет данный узел из родительского объекта. (Унаследовано от XNode) |
| RemoveAll() |
Удаление узлов и атрибутов из XElement. |
| RemoveAnnotations(Type) |
Удаление примечаний заданного типа из данного XObject. (Унаследовано от XObject) |
| RemoveAnnotations<T>() |
Удаление примечаний заданного типа из данного XObject. (Унаследовано от XObject) |
| RemoveAttributes() |
Удаляет атрибуты данного элемента XElement. |
| RemoveNodes() |
Удаляет дочерние элементы из данного документа или элемента. (Унаследовано от XContainer) |
| ReplaceAll(Object) |
Заменяет дочерние узлы и атрибуты этого элемента указанным содержимым. |
| ReplaceAll(Object[]) |
Заменяет дочерние узлы и атрибуты этого элемента указанным содержимым. |
| ReplaceAttributes(Object) |
Заменяет атрибуты этого элемента указанным содержимым. |
| ReplaceAttributes(Object[]) |
Заменяет атрибуты этого элемента указанным содержимым. |
| ReplaceNodes(Object) |
Заменяет дочерние узлы данного документа или элемента заданным содержимым. (Унаследовано от XContainer) |
| ReplaceNodes(Object[]) |
Заменяет дочерние узлы данного документа или элемента заданным содержимым. (Унаследовано от XContainer) |
| ReplaceWith(Object) |
Заменяет данный узел на указанное содержимое. (Унаследовано от XNode) |
| ReplaceWith(Object[]) |
Заменяет данный узел на указанное содержимое. (Унаследовано от XNode) |
| Save(Stream) | |
| Save(Stream, SaveOptions) |
Выводит данный элемент XElement в указанный поток Stream, при необходимости задавая поведение форматирования. |
| Save(String) |
Сериализовать этот элемент в файл. |
| Save(String, SaveOptions) |
Сериализовать этот элемент в файл (с возможным отключением форматирования). |
| Save(TextWriter) |
Сериализация этого элемента в TextWriter. |
| Save(TextWriter, SaveOptions) |
Сериализация этого элемента в TextWriter с отключением форматирования (при необходимости). |
| Save(XmlWriter) |
Сериализация этого элемента в XmlWriter. |
| SaveAsync(Stream, SaveOptions, CancellationToken) | |
| SaveAsync(TextWriter, SaveOptions, CancellationToken) |
Асинхронно выводит XElement в TextWriter. |
| SaveAsync(XmlWriter, CancellationToken) | |
| SetAttributeValue(XName, Object) |
Устанавливает значение атрибута, добавляет или удаляет атрибут. |
| SetElementValue(XName, Object) |
Задает значение дочернего элемента, добавляет или удаляет дочерний элемент. |
| SetValue(Object) |
Задает значение этого элемента. |
| ToString() |
Возвращает предназначенный для данного узла XML. (Унаследовано от XNode) |
| ToString(SaveOptions) |
Возвращает XML для данного узла (с возможным отключением форматирования). (Унаследовано от XNode) |
| WriteTo(XmlWriter) |
Запись этого элемента в объект XmlWriter. |
| WriteToAsync(XmlWriter, CancellationToken) |
Асинхронно записывает XElement в указанный модуль записи. |
| WriteToAsync(XmlWriter, CancellationToken) |
Записывает текущий узел в XmlWriter. (Унаследовано от XNode) |
Операторы
События
| Changed |
Возникновение в случае изменения данного XObject или одного из его подчиненных элементов. (Унаследовано от XObject) |
| Changing |
Возникновение в случае возможного изменения данного XObject или одного из его подчиненных элементов. (Унаследовано от XObject) |
Явные реализации интерфейса
| IXmlLineInfo.HasLineInfo() |
Получение значения, указывающего, есть ли у данного XObject сведения строки. (Унаследовано от XObject) |
| IXmlLineInfo.LineNumber |
Получения номера строки, которую базовый XmlReader сообщил для данного XObject. (Унаследовано от XObject) |
| IXmlLineInfo.LinePosition |
Получения номера позиции, которую базовый XmlReader сообщил для данного XObject. (Унаследовано от XObject) |
| IXmlSerializable.GetSchema() |
Возвращает определение схемы XML, которое описывает представление XML этого объекта. |
| IXmlSerializable.ReadXml(XmlReader) |
Создает объект на основе его XML-представления. |
| IXmlSerializable.WriteXml(XmlWriter) |
Преобразует объект в его XML-представление. |
Методы расширения
| GetSchemaInfo(XElement) |
Получает набор сведений после проверки схемы (PSVI) для проверенного элемента. |
| Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler) |
Этот метод проверяет поддерево XElement на соответствие указанным XmlSchemaObject и XmlSchemaSet. |
| Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler, Boolean) |
Проверяет поддерево XElement на соответствие указанным XmlSchemaObject и XmlSchemaSet, с возможностью заполнения дерева XML набором сведений после проверки схемы (PSVI). |
| CreateNavigator(XNode) |
Создает XPathNavigator для XNode. |
| CreateNavigator(XNode, XmlNameTable) |
Создает XPathNavigator для XNode. XmlNameTable обеспечивает более эффективную обработку выражений XPath. |
| XPathEvaluate(XNode, String) |
Вычисляет выражение XPath. |
| XPathEvaluate(XNode, String, IXmlNamespaceResolver) |
Вычисляет выражение XPath, разрешая префиксы пространств имен с помощью указанного IXmlNamespaceResolver. |
| XPathSelectElement(XNode, String) |
Выбирает XElement с помощью выражения XPath. |
| XPathSelectElement(XNode, String, IXmlNamespaceResolver) |
Выбирает XElement с помощью выражения XPath, разрешая префиксы пространства имен с помощью указанного IXmlNamespaceResolver. |
| XPathSelectElements(XNode, String) |
Выбирает коллекцию элементов с помощью выражения XPath. |
| XPathSelectElements(XNode, String, IXmlNamespaceResolver) |
Выбирает коллекцию элементов с помощью выражения XPath, разрешая префиксы пространства имен с помощью указанного IXmlNamespaceResolver. |
| ToXPathNavigable(XNode) |
Возвращает метод доступа, который позволяет переходить к указанному XNode и редактировать его. |