XDocument (Clase) (System.Xml.Linq)

Cambiar vista:
Sin script
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
Método público Compatible con XNA Framework XDocument() Inicializa una nueva instancia de la clase XDocument.
Método público Compatible con XNA Framework XDocument(Object[]) Inicializa una nueva instancia de la clase XDocument con el contenido especificado.
Método público Compatible con XNA Framework XDocument(XDocument) Inicializa una nueva instancia de la clase XDocument a partir de un objeto XDocument ya existente.
Método público Compatible con XNA Framework XDocument(XDeclaration, Object[]) Inicializa una nueva instancia de la clase XDocument con la clase XDeclaration y el contenido especificados.
Arriba
Propiedades

  Nombre Descripción
Propiedad pública Compatible con XNA Framework BaseUri Obtiene el URI base de este XObject. (Se hereda de XObject).
Propiedad pública Compatible con XNA Framework Declaration Obtiene o establece la declaración XML de este documento.
Propiedad pública Compatible con XNA Framework Document Obtiene XDocument para este XObject. (Se hereda de XObject).
Propiedad pública Compatible con XNA Framework DocumentType Obtiene la definición de tipo de documento (DTD) de este documento.
Propiedad pública Compatible con XNA Framework FirstNode Obtiene el primer nodo secundario de este nodo. (Se hereda de XContainer).
Propiedad pública Compatible con XNA Framework LastNode Obtiene el último nodo secundario de este nodo. (Se hereda de XContainer).
Propiedad pública Compatible con XNA Framework NextNode Obtiene el siguiente nodo relacionado de este nodo. (Se hereda de XNode).
Propiedad pública Compatible con XNA Framework NodeType Obtiene el tipo de nodo de este nodo. (Invalida a XObject.NodeType).
Propiedad pública Compatible con XNA Framework Parent Obtiene el XElement primario de XObject. (Se hereda de XObject).
Propiedad pública Compatible con XNA Framework PreviousNode Obtiene el anterior nodo relacionado de este nodo. (Se hereda de XNode).
Propiedad pública Compatible con XNA Framework Root Obtiene el elemento raíz del árbol XML de este documento.
Arriba
Métodos

  Nombre Descripción
Método público Compatible con XNA Framework Add(Object) Agrega el contenido especificado como elementos secundarios de este XContainer. (Se hereda de XContainer).
Método público Compatible con XNA Framework Add(Object[]) Agrega el contenido especificado como elementos secundarios de este XContainer. (Se hereda de XContainer).
Método público Compatible con XNA Framework AddAfterSelf(Object) Agrega el contenido especificado inmediatamente a continuación de este nodo. (Se hereda de XNode).
Método público Compatible con XNA Framework AddAfterSelf(Object[]) Agrega el contenido especificado inmediatamente a continuación de este nodo. (Se hereda de XNode).
Método público Compatible con XNA Framework AddAnnotation Agrega un objeto a la lista de anotaciones de XObject. (Se hereda de XObject).
Método público Compatible con XNA Framework AddBeforeSelf(Object) Agrega el contenido especificado inmediatamente antes de este nodo. (Se hereda de XNode).
Método público Compatible con XNA Framework AddBeforeSelf(Object[]) Agrega el contenido especificado inmediatamente antes de este nodo. (Se hereda de XNode).
Método público Compatible con XNA Framework AddFirst(Object) Agrega el contenido especificado como el primer elemento secundario de este documento o elemento. (Se hereda de XContainer).
Método público Compatible con XNA Framework AddFirst(Object[]) Agrega el contenido especificado como el primer elemento secundario de este documento o elemento. (Se hereda de XContainer).
Método público Compatible con XNA Framework Ancestors() Devuelve una colección de los elementos antecesores de este nodo. (Se hereda de XNode).
Método público Compatible con XNA Framework 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).
Método público Compatible con XNA Framework Annotation(Type) Obtiene el primer objeto de anotación del tipo especificado de este XObject. (Se hereda de XObject).
Método público Compatible con XNA Framework Annotation<T>() Obtiene el primer objeto de anotación del tipo especificado de este XObject. (Se hereda de XObject).
Método público Compatible con XNA Framework Annotations(Type) Obtiene una colección de anotaciones del tipo especificado para este XObject. (Se hereda de XObject).
Método público Compatible con XNA Framework Annotations<T>() Obtiene una colección de anotaciones del tipo especificado para este XObject. (Se hereda de XObject).
Método público Compatible con XNA Framework CreateReader() Crea un objeto XmlReader para este nodo. (Se hereda de XNode).
Método público CreateReader(ReaderOptions) Crea una clase XmlReader con las opciones especificadas por el parámetro readerOptions. (Se hereda de XNode).
Método público Compatible con XNA Framework CreateWriter Crea un objeto XmlWriter que se puede utilizar para agregar los nodos a XContainer. (Se hereda de XContainer).
Método público Compatible con XNA Framework DescendantNodes Devuelve una colección de los nodos descendientes de este documento o elemento, clasificados por documento. (Se hereda de XContainer).
Método público Compatible con XNA Framework Descendants() Devuelve una colección de los elementos descendientes de este documento o elemento, clasificados por documento. (Se hereda de XContainer).
Método público Compatible con XNA Framework 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).
Método público Compatible con XNA Framework Element Obtiene el primer elemento secundario (clasificado por documento) con el XName especificado. (Se hereda de XContainer).
Método público Compatible con XNA Framework Elements() Devuelve una colección de los elementos secundarios de este elemento o documento, clasificados por documento. (Se hereda de XContainer).
Método público Compatible con XNA Framework 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).
Método público Compatible con XNA Framework ElementsAfterSelf() Devuelve una colección de los elementos relacionados situados detrás de este nodo en el orden del documento. (Se hereda de XNode).
Método público Compatible con XNA Framework 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).
Método público Compatible con XNA Framework ElementsBeforeSelf() Devuelve una colección de los elementos relacionados situados antes de este nodo en el orden del documento. (Se hereda de XNode).
Método público Compatible con XNA Framework 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).
Método público Compatible con XNA Framework Equals(Object) Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Compatible con XNA Framework 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).
Método público Compatible con XNA Framework GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público Compatible con XNA Framework GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público Compatible con XNA Framework IsAfter Determina si el nodo actual aparece después de un nodo especificado respecto al orden del documento. (Se hereda de XNode).
Método público Compatible con XNA Framework IsBefore Determina si el nodo actual aparece antes de un nodo especificado respecto al orden del documento. (Se hereda de XNode).
Método público Miembro estático Load(Stream) Crea una nueva instancia de XDocument usando la secuencia especificada.
Método público Miembro estático Compatible con XNA Framework Load(String) Crea un nuevo XDocument a partir de un archivo.
Método público Miembro estático Compatible con XNA Framework Load(TextReader) Crea un nuevo XDocument a partir de un TextReader.
Método público Miembro estático Compatible con XNA Framework Load(XmlReader) Crea un nuevo XDocument a partir de un XmlReader.
Método público Miembro estático 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.
Método público Miembro estático Compatible con XNA Framework 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.
Método público Miembro estático Compatible con XNA Framework 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.
Método público Miembro estático Compatible con XNA Framework 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.
Método protegido Compatible con XNA Framework MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método público Compatible con XNA Framework Nodes Devuelve una colección de los nodos secundarios de este elemento o documento, clasificados por documento. (Se hereda de XContainer).
Método público Compatible con XNA Framework NodesAfterSelf Devuelve una colección de los nodos relacionados situados detrás de este nodo en el orden del documento. (Se hereda de XNode).
Método público Compatible con XNA Framework NodesBeforeSelf Devuelve una colección de los nodos relacionados situados antes de este nodo en el orden del documento. (Se hereda de XNode).
Método público Miembro estático Compatible con XNA Framework Parse(String) Crea un nuevo XDocument a partir de una cadena.
Método público Miembro estático Compatible con XNA Framework 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.
Método público Compatible con XNA Framework Remove Quita este nodo de su elemento primario. (Se hereda de XNode).
Método público Compatible con XNA Framework RemoveAnnotations(Type) Quita las anotaciones del tipo especificado de XObject. (Se hereda de XObject).
Método público Compatible con XNA Framework RemoveAnnotations<T>() Quita las anotaciones del tipo especificado de XObject. (Se hereda de XObject).
Método público Compatible con XNA Framework RemoveNodes Quita los nodos secundarios de este documento o elemento. (Se hereda de XContainer).
Método público Compatible con XNA Framework ReplaceNodes(Object) Reemplaza los nodos secundarios de este documento o elemento por el contenido especificado. (Se hereda de XContainer).
Método público Compatible con XNA Framework ReplaceNodes(Object[]) Reemplaza los nodos secundarios de este documento o elemento por el contenido especificado. (Se hereda de XContainer).
Método público Compatible con XNA Framework ReplaceWith(Object) Reemplaza este nodo por el contenido especificado. (Se hereda de XNode).
Método público Compatible con XNA Framework ReplaceWith(Object[]) Reemplaza este nodo por el contenido especificado. (Se hereda de XNode).
Método público Save(Stream) Genera este XDocument en el objeto Stream especificado.
Método público Compatible con XNA Framework Save(String) Serializa este XDocument en un archivo, sobrescribiendo un archivo existente, si existe.
Método público Compatible con XNA Framework Save(TextWriter) Serializa el XDocument en un TextWriter.
Método público Compatible con XNA Framework Save(XmlWriter) Serializa el XDocument en un XmlWriter.
Método público Save(Stream, SaveOptions) Genera este XDocument en el objeto Stream especificado, especificando opcionalmente el comportamiento de formato.
Método público Compatible con XNA Framework Save(String, SaveOptions) Serializa XDocument en un archivo, opcionalmente se deshabilita el formato.
Método público Compatible con XNA Framework Save(TextWriter, SaveOptions) Serializa el XDocument en un TextWriter, opcionalmente se deshabilita el formato.
Método público Compatible con XNA Framework ToString() Devuelve el XML con sangría para este nodo. (Se hereda de XNode).
Método público Compatible con XNA Framework ToString(SaveOptions) Devuelve el XML de este nodo y, opcionalmente, deshabilita el formato. (Se hereda de XNode).
Método público Compatible con XNA Framework WriteTo Escribe el documento en un objeto XmlWriter. (Invalida a XNode.WriteTo(XmlWriter)).
Arriba
Eventos

  Nombre Descripción
Evento público Compatible con XNA Framework Changed Se produce cuando este XObject o cualquiera de sus descendientes ha cambiado. (Se hereda de XObject).
Evento público Compatible con XNA Framework Changing Se provoca cuando este XObject o cualquiera de sus descendientes está a punto de cambiar. (Se hereda de XObject).
Arriba
Métodos de extensión

  Nombre Descripción
Método de extensión público CreateNavigator() Sobrecargado. Crea un objeto XPathNavigator para XNode. (Definido por Extensions).
Método de extensión público CreateNavigator(XmlNameTable) Sobrecargado. Crea un objeto XPathNavigator para XNode. XmlNameTable permite un procesamiento más eficaz de la expresión XPath. (Definido por Extensions).
Método de extensión público Validate(XmlSchemaSet, ValidationEventHandler) Sobrecargado. Este método valida que un XDocument se ajusta a un XSD en un XmlSchemaSet. (Definido por Extensions).
Método de extensión público 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).
Método de extensión público XPathEvaluate(String) Sobrecargado. Evalúa una expresión XPath. (Definido por Extensions).
Método de extensión público XPathEvaluate(String, IXmlNamespaceResolver) Sobrecargado. Evalúa una expresión XPath, resolviendo los prefijos de espacio de nombres mediante el IXmlNamespaceResolver especificado. (Definido por Extensions).
Método de extensión público XPathSelectElement(String) Sobrecargado. Selecciona un objeto XElement mediante una expresión XPath. (Definido por Extensions).
Método de extensión público 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).
Método de extensión público XPathSelectElements(String) Sobrecargado. Selecciona una colección de elementos mediante una expresión XPath. (Definido por Extensions).
Método de extensión público 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).
Arriba
Implementaciones explícitas de interfaces

  Nombre Descripción
Implementación explícita de interfaces Método privado Compatible con XNA Framework IXmlLineInfo.HasLineInfo Obtiene un valor que indica si XObject tiene información de línea o no. (Se hereda de XObject).
Implementación explícita de interfaces Propiedad privada Compatible con XNA Framework IXmlLineInfo.LineNumber Obtiene el número de línea del que el XmlReader subyacente informó para este XObject. (Se hereda de XObject).
Implementación explícita de interfaces Propiedad privada Compatible con XNA Framework IXmlLineInfo.LinePosition Obtiene la posición de línea de la que el XmlReader subyacente informó para este XObject. (Se hereda de XObject).
Arriba
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 SP1
Plataformas

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

Referencia

Otros recursos