Biblioteca de clases de .NET Framework
XDocument (Clase)
Este artículo se tradujo de forma manual. Para mostrar esta página y el contenido original en inglés al mismo tiempo, cambie a Lightweight según sus preferencias de visualización.
Representa un documento XML.
Jerarquía de herencia
System.Object
System.Xml.Linq.XObject
System.Xml.Linq.XNode
System.Xml.Linq.XContainer
System.Xml.Linq.XDocument
Espacio de nombres: System.Xml.Linq
Ensamblado: System.Xml.Linq (en System.Xml.Linq.dll)
Sintaxis
Visual Basic
Public Class XDocument _ Inherits XContainer
C#
public class XDocument : XContainer
Visual C++
public ref class XDocument : public XContainer
F#
type XDocument = class inherit XContainer end
El tipo XDocument expone los siguientes miembros.
Constructores
| Nombre | Descripción | |
|---|---|---|
|
XDocument() | Inicializa una nueva instancia de la clase XDocument. |
|
XDocument(Object[]) | Inicializa una nueva instancia de la clase XDocument con el contenido especificado. |
|
XDocument(XDocument) | Inicializa una nueva instancia de la clase XDocument a partir de un objeto XDocument ya existente. |
|
XDocument(XDeclaration, Object[]) | Inicializa una nueva instancia de la clase XDocument con la clase XDeclaration y el contenido especificados. |
Propiedades
| Nombre | Descripción | |
|---|---|---|
|
BaseUri | Obtiene el URI base de este XObject. (Se hereda de XObject). |
|
Declaration | Obtiene o establece la declaración XML de este documento. |
|
Document | Obtiene XDocument para este XObject. (Se hereda de XObject). |
|
DocumentType | Obtiene la definición de tipo de documento (DTD) de este documento. |
|
FirstNode | Obtiene el primer nodo secundario de este nodo. (Se hereda de XContainer). |
|
LastNode | Obtiene el último nodo secundario de este nodo. (Se hereda de XContainer). |
|
NextNode | Obtiene el siguiente nodo relacionado de este nodo. (Se hereda de XNode). |
|
NodeType | Obtiene el tipo de nodo de este nodo. (Invalida a XObject.NodeType). |
|
Parent | Obtiene el XElement primario de XObject. (Se hereda de XObject). |
|
PreviousNode | Obtiene el anterior nodo relacionado de este nodo. (Se hereda de XNode). |
|
Root | Obtiene el elemento raíz del árbol XML de este documento. |
Métodos
| Nombre | Descripción | |
|---|---|---|
|
Add(Object) | Agrega el contenido especificado como elementos secundarios de este XContainer. (Se hereda de XContainer). |
|
Add(Object[]) | Agrega el contenido especificado como elementos secundarios de este XContainer. (Se hereda de XContainer). |
|
AddAfterSelf(Object) | Agrega el contenido especificado inmediatamente a continuación de este nodo. (Se hereda de XNode). |
|
AddAfterSelf(Object[]) | Agrega el contenido especificado inmediatamente a continuación de este nodo. (Se hereda de XNode). |
|
AddAnnotation | Agrega un objeto a la lista de anotaciones de XObject. (Se hereda de XObject). |
|
AddBeforeSelf(Object) | Agrega el contenido especificado inmediatamente antes de este nodo. (Se hereda de XNode). |
|
AddBeforeSelf(Object[]) | Agrega el contenido especificado inmediatamente antes de este nodo. (Se hereda de XNode). |
|
AddFirst(Object) | Agrega el contenido especificado como el primer elemento secundario de este documento o elemento. (Se hereda de XContainer). |
|
AddFirst(Object[]) | Agrega el contenido especificado como el primer elemento secundario de este documento o elemento. (Se hereda de XContainer). |
|
Ancestors() | Devuelve una colección de los elementos antecesores de este nodo. (Se hereda de XNode). |
|
Ancestors(XName) | Devuelve una colección filtrada de los elementos antecesores de este nodo. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente. (Se hereda de XNode). |
|
Annotation(Type) | Obtiene el primer objeto de anotación del tipo especificado de este XObject. (Se hereda de XObject). |
|
Annotation<T>() | Obtiene el primer objeto de anotación del tipo especificado de este XObject. (Se hereda de XObject). |
|
Annotations(Type) | Obtiene una colección de anotaciones del tipo especificado para este XObject. (Se hereda de XObject). |
|
Annotations<T>() | Obtiene una colección de anotaciones del tipo especificado para este XObject. (Se hereda de XObject). |
|
CreateReader() | Crea un objeto XmlReader para este nodo. (Se hereda de XNode). |
|
CreateReader(ReaderOptions) | Crea una clase XmlReader con las opciones especificadas por el parámetro readerOptions. (Se hereda de XNode). |
|
CreateWriter | Crea un objeto XmlWriter que se puede utilizar para agregar los nodos a XContainer. (Se hereda de XContainer). |
|
DescendantNodes | Devuelve una colección de los nodos descendientes de este documento o elemento, clasificados por documento. (Se hereda de XContainer). |
|
Descendants() | Devuelve una colección de los elementos descendientes de este documento o elemento, clasificados por documento. (Se hereda de XContainer). |
|
Descendants(XName) | Devuelve una colección filtrada de los elementos descendientes de este documento o elemento, clasificados por documento. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente. (Se hereda de XContainer). |
|
Element | Obtiene el primer elemento secundario (clasificado por documento) con el XName especificado. (Se hereda de XContainer). |
|
Elements() | Devuelve una colección de los elementos secundarios de este elemento o documento, clasificados por documento. (Se hereda de XContainer). |
|
Elements(XName) | Devuelve una colección filtrada de elementos secundarios de este documento o elemento, clasificados por documento. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente. (Se hereda de XContainer). |
|
ElementsAfterSelf() | Devuelve una colección de los elementos relacionados situados detrás de este nodo en el orden del documento. (Se hereda de XNode). |
|
ElementsAfterSelf(XName) | Devuelve una colección filtrada de los elementos relacionados situados detrás de este nodo en el orden del documento. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente. (Se hereda de XNode). |
|
ElementsBeforeSelf() | Devuelve una colección de los elementos relacionados situados antes de este nodo en el orden del documento. (Se hereda de XNode). |
|
ElementsBeforeSelf(XName) | Devuelve una colección filtrada de los elementos relacionados situados antes de este nodo en el orden del documento. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente. (Se hereda de XNode). |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
IsAfter | Determina si el nodo actual aparece después de un nodo especificado respecto al orden del documento. (Se hereda de XNode). |
|
IsBefore | Determina si el nodo actual aparece antes de un nodo especificado respecto al orden del documento. (Se hereda de XNode). |
|
Load(Stream) | Crea una nueva instancia de XDocument usando la secuencia especificada. |
|
Load(String) | Crea un nuevo XDocument a partir de un archivo. |
|
Load(TextReader) | Crea un nuevo XDocument a partir de un TextReader. |
|
Load(XmlReader) | Crea un nuevo XDocument a partir de un XmlReader. |
|
Load(Stream, LoadOptions) | Crea una nueva instancia de XDocument usando la secuencia especificada y, de forma opcional, conservando el espacio en blanco, estableciendo el identificador URI base y conservando la información de línea. |
|
Load(String, LoadOptions) | Crea un nuevo XDocument a partir de un archivo y, de manera opcional, conserva el espacio en blanco, establece el URI base y retiene la información de línea. |
|
Load(TextReader, LoadOptions) | Crea un nuevo XDocument a partir de un TextReader y, de manera opcional, conserva el espacio en blanco, establece el URI base y retiene la información de línea. |
|
Load(XmlReader, LoadOptions) | Carga un XElement desde un XmlReader y, de manera opcional, se establece el URI base y se retiene la información de línea. |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
Nodes | Devuelve una colección de los nodos secundarios de este elemento o documento, clasificados por documento. (Se hereda de XContainer). |
|
NodesAfterSelf | Devuelve una colección de los nodos relacionados situados detrás de este nodo en el orden del documento. (Se hereda de XNode). |
|
NodesBeforeSelf | Devuelve una colección de los nodos relacionados situados antes de este nodo en el orden del documento. (Se hereda de XNode). |
|
Parse(String) | Crea un nuevo XDocument a partir de una cadena. |
|
Parse(String, LoadOptions) | Crea un objeto XDocument nuevo a partir de una cadena, opcionalmente se conserva el espacio en blanco, se establece el URI base y la información de línea. |
|
Remove | Quita este nodo de su elemento primario. (Se hereda de XNode). |
|
RemoveAnnotations(Type) | Quita las anotaciones del tipo especificado de XObject. (Se hereda de XObject). |
|
RemoveAnnotations<T>() | Quita las anotaciones del tipo especificado de XObject. (Se hereda de XObject). |
|
RemoveNodes | Quita los nodos secundarios de este documento o elemento. (Se hereda de XContainer). |
|
ReplaceNodes(Object) | Reemplaza los nodos secundarios de este documento o elemento por el contenido especificado. (Se hereda de XContainer). |
|
ReplaceNodes(Object[]) | Reemplaza los nodos secundarios de este documento o elemento por el contenido especificado. (Se hereda de XContainer). |
|
ReplaceWith(Object) | Reemplaza este nodo por el contenido especificado. (Se hereda de XNode). |
|
ReplaceWith(Object[]) | Reemplaza este nodo por el contenido especificado. (Se hereda de XNode). |
|
Save(Stream) | Genera este XDocument en el objeto Stream especificado. |
|
Save(String) | Serializa este XDocument en un archivo, sobrescribiendo un archivo existente, si existe. |
|
Save(TextWriter) | Serializa el XDocument en un TextWriter. |
|
Save(XmlWriter) | Serializa el XDocument en un XmlWriter. |
|
Save(Stream, SaveOptions) | Genera este XDocument en el objeto Stream especificado, especificando opcionalmente el comportamiento de formato. |
|
Save(String, SaveOptions) | Serializa XDocument en un archivo, opcionalmente se deshabilita el formato. |
|
Save(TextWriter, SaveOptions) | Serializa el XDocument en un TextWriter, opcionalmente se deshabilita el formato. |
|
ToString() | Devuelve el XML con sangría para este nodo. (Se hereda de XNode). |
|
ToString(SaveOptions) | Devuelve el XML de este nodo y, opcionalmente, deshabilita el formato. (Se hereda de XNode). |
|
WriteTo | Escribe el documento en un objeto XmlWriter. (Invalida a XNode.WriteTo(XmlWriter)). |
Eventos
| Nombre | Descripción | |
|---|---|---|
|
Changed | Se produce cuando este XObject o cualquiera de sus descendientes ha cambiado. (Se hereda de XObject). |
|
Changing | Se provoca cuando este XObject o cualquiera de sus descendientes está a punto de cambiar. (Se hereda de XObject). |
Métodos de extensión
| Nombre | Descripción | |
|---|---|---|
|
CreateNavigator() | Sobrecargado. Crea un objeto XPathNavigator para XNode. (Definido por Extensions). |
|
CreateNavigator(XmlNameTable) | Sobrecargado. Crea un objeto XPathNavigator para XNode. XmlNameTable permite un procesamiento más eficaz de la expresión XPath. (Definido por Extensions). |
|
Validate(XmlSchemaSet, ValidationEventHandler) | Sobrecargado. Este método valida que un XDocument se ajusta a un XSD en un XmlSchemaSet. (Definido por Extensions). |
|
Validate(XmlSchemaSet, ValidationEventHandler, Boolean) | Sobrecargado. Valida que XDocument se ajusta a XSD en XmlSchemaSet y, de manera opcional, rellena el árbol XML con el conjunto de información posterior a la validación del esquema (PSVI). (Definido por Extensions). |
|
XPathEvaluate(String) | Sobrecargado. Evalúa una expresión XPath. (Definido por Extensions). |
|
XPathEvaluate(String, IXmlNamespaceResolver) | Sobrecargado. Evalúa una expresión XPath, resolviendo los prefijos de espacio de nombres mediante el IXmlNamespaceResolver especificado. (Definido por Extensions). |
|
XPathSelectElement(String) | Sobrecargado. Selecciona un objeto XElement mediante una expresión XPath. (Definido por Extensions). |
|
XPathSelectElement(String, IXmlNamespaceResolver) | Sobrecargado. Selecciona un XElement utilizando una expresión XPath, que resuelve los prefijos de espacio de nombres mediante el IXmlNamespaceResolver especificado. (Definido por Extensions). |
|
XPathSelectElements(String) | Sobrecargado. Selecciona una colección de elementos mediante una expresión XPath. (Definido por Extensions). |
|
XPathSelectElements(String, IXmlNamespaceResolver) | Sobrecargado. Selecciona una colección de elementos utilizando una expresión XPath, que resuelve los prefijos de espacio de nombres mediante el IXmlNamespaceResolver especificado. (Definido por Extensions). |
Implementaciones explícitas de interfaces
| Nombre | Descripción | |
|---|---|---|
|
IXmlLineInfo.HasLineInfo | Obtiene un valor que indica si XObject tiene información de línea o no. (Se hereda de XObject). |
|
IXmlLineInfo.LineNumber | Obtiene el número de línea del que el XmlReader subyacente informó para este XObject. (Se hereda de XObject). |
|
IXmlLineInfo.LinePosition | Obtiene la posición de línea de la que el XmlReader subyacente informó para este XObject. (Se hereda de XObject). |
Comentarios
Para obtener información sobre el contenido válido de XDocument, vea Contenido válido de objetos XElement y XDocument.
Ejemplos
El siguiente ejemplo crea un documento y, a continuación, se le agregan un comentario y un elemento. Después crea otro documento con los resultados de una consulta.
C#
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);
Visual Basic
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)
Este ejemplo produce el siguiente resultado:
xmlLang
<!--This is a comment--> <Root> <Child1>data1</Child1> <Child2>data2</Child2> <Child3>data3</Child3> <Child2>data4</Child2> </Root>
Información de versión
.NET Framework
Compatible con: 4, 3.5.NET Framework Client Profile
Compatible con: 4, 3.5 SP1Plataformas
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.Vea también