PaqueteNivel superior
Clasepublic final dynamic class XML
HerenciaXML Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

La clase XML contiene métodos y propiedades para trabajar con objetos XML. La clase XML (junto con las clases XMLList, Namespace y QName) implementa potentes normas de gestión de XML definidas en la especificación ECMAScript para XML (E4X) (ECMA-357 edición 2).

Utilice el método toXMLString() para que se devuelva una representación de cadena del objeto XML, con independencia de si el objeto XML tiene contenido simple o complejo.

Nota: la clase XML (junto con las clases relacionadas) de ActionScript 2.0 ha pasado a denominarse XMLDocument y se ha trasladado al paquete flash.xml. Se incluye en ActionScript 3.0 para conseguir compatibilidad retroactiva.

Ver los ejemplos

Véase también

Namespace
QName
XMLList
XML.toXMLString()
Especificación ECMAScript para XML (E4X) (ECMA-357; edición 2)
Objetos XML


Propiedades públicas
 PropiedadDefinido por
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
  ignoreComments : Boolean
[static] Determina si los comentarios XML se ignoran cuando los objetos XML analizan los datos XML de origen.
XML
  ignoreProcessingInstructions : Boolean
[static] Determina si las instrucciones de procesamiento XML se ignoran cuando los objetos XML analizan los datos XML de origen.
XML
  ignoreWhitespace : Boolean
[static] Determina si los caracteres de espacio en blanco situados al comienzo y al final de los nodos de texto deben ignorarse durante el análisis.
XML
  prettyIndent : int
[static] Determina la cantidad de sangría que se aplica a los métodos toString() y toXMLString() cuando la propiedad XML.prettyPrinting se establece con el valor true.
XML
  prettyPrinting : Boolean
[static] Determina si los métodos toString() y toXMLString() normalizan los caracteres de espacio en blanco existentes entre algunas etiquetas.
XML
 Inheritedprototype : Object
[static] Una referencia al objeto prototipo de una clase u objeto de función.
Object
Métodos públicos
 MétodoDefinido por
  
XML(value:Object)
Crea un nuevo objeto XML.
XML
  
Añade un espacio de nombres al conjunto de espacios de nombres del ámbito para el objeto XML.
XML
  
Añade el elemento secundario en cuestión al final de las propiedades del objeto XML.
XML
  
attribute(attributeName:*):XMLList
Devuelve el valor XML del atributo cuyo nombre coincide con el parámetro attributeName.
XML
  
Devuelve una lista de valores de atributos para el objeto XML en cuestión.
XML
  
child(propertyName:Object):XMLList
Enumera los elementos secundarios de un objeto XML.
XML
  
Identifica la posición de índice basada en cero de este objeto XML dentro del contexto de su elemento principal.
XML
  
Enumera los elementos secundarios del objeto XML en la secuencia en que aparecen.
XML
  
Enumera las propiedades del objeto XML que contienen comentarios XML.
XML
  
Compara el objeto XML con el parámetro value especificado.
XML
  
copy():XML
Devuelve una copia del objeto XML en cuestión.
XML
  
[static] Devuelve un objeto con las siguientes propiedades configuradas con los valores predeterminados: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent y prettyPrinting.
XML
  
Devuelve todos los descendientes (elementos secundarios, terciarios, cuaternarios, etc.) del objeto XML que tiene el parámetro name.
XML
  
elements(name:Object = *):XMLList
Enumera los elementos de un objeto XML.
XML
  
Comprueba si el objeto XML tiene un contenido complejo.
XML
  
Comprueba si el objeto tiene la propiedad especificada por el parámetro p.
XML
  
Comprueba si el objeto XML tiene un contenido simple.
XML
  
Enumera los espacios de nombres para el objeto XML basándose en el elemento principal del objeto.
XML
  
insertChildAfter(child1:Object, child2:Object):*
Introduce el parámetro child2 especificado tras el parámetro child1 en este objeto XML y devuelve el objeto resultante.
XML
  
insertChildBefore(child1:Object, child2:Object):*
Introduce el parámetro child2 especificado delante del parámetro child1 en este objeto XML y devuelve el objeto resultante.
XML
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
  
En el caso de objetos XML, este método siempre devuelve el entero 1.
XML
  
Proporciona la parte local del nombre completo del objeto XML.
XML
  
Proporciona el nombre completo del objeto XML.
XML
  
namespace(prefix:String = null):*
Si no se especifica ningún parámetro, proporciona el espacio de nombres asociado al nombre completo de este objeto XML.
XML
  
Enumera las declaraciones de espacio de nombres asociadas al objeto XML en el contexto de su elemento principal.
XML
  
Especifica el tipo de nodo: texto, comentario, instrucción de procesamiento, atributo o elemento.
XML
  
Para el objeto XML y todos los objetos XML descendientes, funde los nodos de texto adyacentes y elimina los nodos de texto vacíos.
XML
  
parent():*
Devuelve el elemento principal del objeto XML.
XML
  
Introduce una copia del objeto child (secundario) proporcionado en el elemento XML delante de cualquier propiedad XML existente para dicho elemento.
XML
  
Si se proporciona un parámetro name, enumera todos los elementos secundarios del objeto XML que contienen instrucciones de procesamiento con dicho nombre.
XML
  
Comprueba si la propiedad p está en el conjunto de propiedades que se pueden repetir en una sentencia for..in aplicada al objeto XML.
XML
  
Elimina el espacio de nombres proporcionado para este objeto y todos los descendientes.
XML
  
replace(propertyName:Object, value:XML):XML
Sustituye las propiedades especificadas mediante el parámetro propertyName por el parámetro value en cuestión.
XML
  
Sustituye las propiedades secundarias del objeto XML por el conjunto especificado de propiedades XML, proporcionadas en el parámetro value.
XML
  
Cambia el nombre local del objeto XML al parámetro name especificado.
XML
  
Establece el nombre del objeto XML con el nombre completo o nombre de atributo especificado.
XML
  
Establece el espacio de nombres asociado al objeto XML.
XML
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
  
[static] Establece valores para las siguientes propiedades XML: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent y prettyPrinting.
XML
  
[static] Recupera las siguientes propiedades: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent y prettyPrinting.
XML
  
Devuelve un objeto XMLList con todas las propiedades XML del objeto XML que representan los nodos de texto XML.
XML
  
Devuelve una representación de cadena del objeto XML.
XML
  
Devuelve una representación de cadena del objeto XML.
XML
  
Devuelve el objeto XML.
XML
Información sobre propiedades
ignoreCommentspropiedad
ignoreComments:Boolean  [read-write]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Determina si los comentarios XML se ignoran cuando los objetos XML analizan los datos XML de origen. De forma predeterminada, los comentarios se ignoran (true). Para incluir comentarios XML, establezca esta propiedad con el valor false. La propiedad ignoreComments sólo se utiliza durante el análisis XML, no durante la llamada a métodos tales como myXMLObject.child(*).toXMLString(). Si el XML de origen incluye nodos de comentarios, éstos se mantendrán o se eliminarán durante el análisis XML.


Implementación
    public static function get ignoreComments():Boolean
    public function set ignoreComments(value:Boolean):void

Véase también


Ejemplo

Este ejemplo muestra el efecto que tiene definir XML.ignoreComments como false y como true:
XML.ignoreComments = false;
var xml1:XML =
        <foo>
            <!-- comment -->
        </foo>;
trace(xml1.toXMLString()); // <foo><!-- comment --></foo>

XML.ignoreComments = true;
var xml2:XML =
        <foo>
            <!-- example -->
        </foo>;
trace(xml2.toXMLString()); // <foo/>
ignoreProcessingInstructionspropiedad 
ignoreProcessingInstructions:Boolean  [read-write]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Determina si las instrucciones de procesamiento XML se ignoran cuando los objetos XML analizan los datos XML de origen. De forma predeterminada, las instrucciones de procesamiento se ignoran (true). Para incluir instrucciones de procesamiento XML, establezca esta propiedad con el valor false. La propiedad ignoreProcessingInstructions sólo se utiliza durante el análisis XML, no durante la llamada a métodos tales como myXMLObject.child(*).toXMLString(). Si el XML de origen incluye nodos de instrucciones de procesamiento, éstos se mantendrán o se eliminarán durante el análisis XML.


Implementación
    public static function get ignoreProcessingInstructions():Boolean
    public function set ignoreProcessingInstructions(value:Boolean):void

Véase también


Ejemplo

Este ejemplo muestra el efecto que tiene definir XML.ignoreProcessingInstructions como false y como true:
XML.ignoreProcessingInstructions = false;
var xml1:XML =
        <foo>
            <?exampleInstruction ?>
        </foo>;
trace(xml1.toXMLString()); // <foo><?exampleInstruction ?></foo>

XML.ignoreProcessingInstructions = true;
var xml2:XML =
        <foo>
            <?exampleInstruction ?>
        </foo>;
trace(xml2.toXMLString()); // <foo/>
ignoreWhitespacepropiedad 
ignoreWhitespace:Boolean  [read-write]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Determina si los caracteres de espacio en blanco situados al comienzo y al final de los nodos de texto deben ignorarse durante el análisis. De manera predeterminada, el espacio en blanco se ignora (true). Si un nodo de texto es espacio en blanco al 100% y la propiedad ignoreWhitespace se define en el valor true, el nodo no se creará. Para mostrar el espacio en blanco en un nodo de texto, defina la propiedad ignoreWhitespace con el valor false.


Implementación
    public static function get ignoreWhitespace():Boolean
    public function set ignoreWhitespace(value:Boolean):void

Ejemplo

Este ejemplo muestra el efecto que tiene definir XML.ignoreWhitespace como false y como true:
XML.ignoreWhitespace = false;
var xml1:XML = <foo>    </foo>;
trace(xml1.children().length()); // 1

XML.ignoreWhitespace = true;
var xml2:XML = <foo>    </foo>;
trace(xml2.children().length()); // 0
prettyIndentpropiedad 
prettyIndent:int  [read-write]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Determina la cantidad de sangría que se aplica a los métodos toString() y toXMLString() cuando la propiedad XML.prettyPrinting se define con el valor true. La sangría se aplica con el carácter de espacio, no con el carácter de tabulador. El valor predeterminado es 2.


Implementación
    public static function get prettyIndent():int
    public function set prettyIndent(value:int):void

Véase también


Ejemplo

Este ejemplo muestra el efecto que tiene definir la propiedad estática XML.prettyIndent:
var xml:XML = <foo><bar/></foo>;
XML.prettyIndent = 0;
trace(xml.toXMLString());

XML.prettyIndent = 1;
trace(xml.toXMLString());

XML.prettyIndent = 2;
trace(xml.toXMLString());
prettyPrintingpropiedad 
prettyPrinting:Boolean  [read-write]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Determina si los métodos toString() y toXMLString() normalizan los caracteres de espacio en blanco existentes entre algunas etiquetas. El valor predeterminado es true.


Implementación
    public static function get prettyPrinting():Boolean
    public function set prettyPrinting(value:Boolean):void

Véase también


Ejemplo

Este ejemplo muestra el efecto que tiene definir la propiedad estática XML.prettyPrinting:
var xml:XML = <foo><bar/></foo>;
XML.prettyPrinting = false;
trace(xml.toXMLString());

XML.prettyPrinting = true;
trace(xml.toXMLString());
Información sobre constructores
XML()constructor
public function XML(value:Object)

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Crea un nuevo objeto XML. Deberá utilizar el constructor para crear un objeto XML antes de llamar a cualquiera de los métodos de la clase XML.

Utilice el método toXMLString() para que se devuelva una representación de cadena del objeto XML, con independencia de si el objeto XML tiene contenido simple o complejo.

Parámetros
value:Object — Cualquier objeto que pueda convertirse a XML con la función XML() de nivel superior.

Véase también

Información sobre métodos
addNamespace()método
AS3 function addNamespace(ns:Object):XML

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Añade un espacio de nombres al conjunto de espacios de nombres del ámbito para el objeto XML. Si el espacio de nombres ya existe en los espacios de nombres del ámbito para el objeto XML (con un prefijo que coincide con el del parámetro especificado), el prefijo del espacio de nombres existente se establece en undefined. Si el parámetro de entrada es un objeto Namespace, éste se utiliza directamente. Si es un objeto QName, el URI del parámetro de entrada se utiliza para crear un nuevo espacio de nombres; en caso contrario, se convierte a una cadena y se crea un espacio de nombres a partir de la cadena.

Parámetros

ns:Object — El espacio de nombres que se va a añadir al objeto XML.

Valor devuelto
XML — El nuevo objeto XML con el espacio de nombres añadido.

Véase también


Ejemplo

Este ejemplo utiliza un espacio de nombres definido en un objeto XML y lo aplica a otro objeto XML:
var xml1:XML = <ns:foo xmlns:ns="www.example.com/ns" />;
var nsNamespace:Namespace = xml1.namespace();

var xml2:XML = <bar />;
xml2.addNamespace(nsNamespace);
trace(xml2.toXMLString()); // <bar xmlns:ns="www.example.com/ns"/>
appendChild()método 
AS3 function appendChild(child:Object):XML

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Añade el elemento secundario en cuestión al final de las propiedades del objeto XML. El método appendChild() toma un objeto XML, un objeto XMLList o cualquier otro tipo de datos que luego se convierte a String.

Utilice el operador delete (XML) para eliminar nodos XML.

Parámetros

child:Object — El objeto XML que se va a añadir.

Valor devuelto
XML — El objeto XML resultante.

Véase también


Ejemplo

Este ejemplo añade un nuevo elemento al final de la lista de elementos secundarios de un objeto XML:
var xml:XML =
        <body>
            <p>hello</p>
        </body>;

xml.appendChild(<p>world</p>);
trace(xml.p[0].toXMLString()); // <p>hello</p>
trace(xml.p[1].toXMLString()); // <p>world</p>
attribute()método 
AS3 function attribute(attributeName:*):XMLList

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve el valor XML del atributo cuyo nombre coincide con el parámetro attributeName. Los atributos se encuentran dentro de los elementos XML. En el ejemplo siguiente, el elemento tiene un atributo llamado "gender" con el valor "boy": <first gender="boy">John</first>.

El parámetro attributeName puede tener cualquier tipo de datos; sin embargo, el tipo de datos que suele utilizarse es String. Al pasar cualquier objeto que no sea un objeto QName, el parámetro attributeName utiliza el método toString() para convertir el parámetro en una cadena.

Si necesita una referencia de nombre completa, puede pasar un objeto QName. Un objeto QName define un espacio de nombre y el nombre local, que puede utilizar para definir el nombre completo de un atributo. Por consiguiente, llamar a attribute(qname) no es lo mismo que llamar a attribute(qname.toString()).

Parámetros

attributeName:* — El nombre del atributo.

Valor devuelto
XMLList — Un objeto XMLList o un objeto XMLList vacío. Devuelve un objeto XMLList vacío si no se ha definido un valor de atributo.

Véase también


Ejemplo

Este ejemplo muestra un objeto QName transferido al método attribute(). La propiedad localName es attr y la propiedad namespace es ns.
var xml:XML = <ns:node xmlns:ns = "http://uri" ns:attr = '7' />
var qn:QName = new QName("http://uri", "attr");
trace(xml.attribute(qn)); // 7

Para devolver un atributo con un nombre que coincida con una palabra clave de ActionScript, utilice el método attribute() y no el operador de identificador de atributos (@), tal como se indica en el ejemplo siguiente:
var xml:XML = <example class="first" />
trace(xml.attribute("class"));
 
attributes()método 
AS3 function attributes():XMLList

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve una lista de valores de atributos para el objeto XML en cuestión. Utilice el método name() con el método attributes() para que se devuelva el nombre de un atributo. Utilice @* para que se devuelvan los nombres de todos los atributos.

Valor devuelto
XMLList — La lista de valores de atributos.

Véase también


Ejemplo

El siguiente ejemplo devuelve el nombre del atributo:
var xml:XML=<example id='123' color='blue'/>
trace(xml.attributes()[1].name()); //color

Este ejemplo devuelve los nombres de todos los atributos:

var xml:XML = <example id='123' color='blue'/>
var attNamesList:XMLList = xml.@*;

trace(attNamesList is XMLList); // true
trace(attNamesList.length()); // 2

for (var i:int = 0; i < attNamesList.length(); i++)
{
    trace(typeof (attNamesList[i])); // xml
    trace(attNamesList[i].nodeKind()); // attribute
    trace(attNamesList[i].name()); // id and color
}
child()método 
AS3 function child(propertyName:Object):XMLList

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Enumera los elementos secundarios de un objeto XML. Un elemento secundario XML es un elemento XML, un nodo de texto, un comentario o una instrucción de procesamiento.

Utilice el parámetro propertyName para enumerar el contenido de un elemento secundario XML concreto. Por ejemplo, para que se devuelva el contenido de un elemento secundario llamado <first>, utilice child.name("first"). Puede generar el mismo resultado utilizando el número de índice del elemento secundario. El número de índice identifica la posición del elemento secundario en la lista de otros elementos secundarios XML. Por ejemplo, name.child(0) devuelve el primer elemento secundario de una lista.

Utilice un asterisco (*) para que en la salida se incluyan todos los elementos secundarios de un documento XML. Por ejemplo, doc.child("*").

Utilice el método length() con el parámetro de asterisco (*) del método child() para que en la salida se incluya el número total de elementos secundarios. Por ejemplo, numChildren = doc.child("*").length().

Parámetros

propertyName:Object — El nombre del elemento o el entero del elemento secundario XML.

Valor devuelto
XMLList — Un objeto XMLList de nodos secundarios que coinciden con el parámetro de entrada.

Véase también


Ejemplo

Este ejemplo ilustra el uso del método child() para identificar elementos secundarios con un nombre especificado:
var xml:XML =
        <foo>
            <bar>text1</bar>
            <bar>text2</bar>
        </foo>;
trace(xml.child("bar").length());  // 2
trace(xml.child("bar")[0].toXMLString()); // <bar>text1</bar>
trace(xml.child("bar")[1].toXMLString()); // <bar>text2</bar>
childIndex()método 
AS3 function childIndex():int

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Identifica la posición de índice basada en cero de este objeto XML dentro del contexto de su elemento principal.

Valor devuelto
int — La posición del objeto. Devuelve -1 además de enteros positivos.

Véase también


Ejemplo

Este ejemplo muestra el uso del método childIndex():
var xml:XML =
            <foo>
                <bar />
                text
                <bob />
            </foo>;
trace(xml.bar.childIndex()); // 0
trace(xml.bob.childIndex()); // 2
children()método 
AS3 function children():XMLList

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Enumera los elementos secundarios del objeto XML en la secuencia en que aparecen. Un elemento secundario XML es un elemento XML, un nodo de texto, un comentario o una instrucción de procesamiento.

Valor devuelto
XMLList — Un objeto XMLList de los elementos secundarios del objeto XML.

Véase también


Ejemplo

Este ejemplo muestra el uso del método children():
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var xml:XML =
        <foo id="22">
            <bar>44</bar>
            text
            <!-- comment -->
            <?instruction ?>
        </foo>;
trace(xml.children().length()); // 4
trace(xml.children()[0].toXMLString()); // <bar>44</bar>
trace(xml.children()[1].toXMLString()); // text
trace(xml.children()[2].toXMLString()); // <!-- comment -->
trace(xml.children()[3].toXMLString()); // <?instruction ?>
comments()método 
AS3 function comments():XMLList

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Enumera las propiedades del objeto XML que contienen comentarios XML.

Valor devuelto
XMLList — Un objeto XMLList de las propiedades que contienen comentarios.

Véase también


Ejemplo

Este ejemplo muestra el uso del método comments():
XML.ignoreComments = false;
var xml:XML =
        <foo>
            <!-- example -->
            <!-- example2 -->
        </foo>;
trace(xml.comments().length()); // 2
trace(xml.comments()[1].toXMLString()); // <!-- example2 -->
contains()método 
AS3 function contains(value:XML):Boolean

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Compara el objeto XML con el parámetro value especificado.

Parámetros

value:XML — Un valor que se va a comparar con el objeto XML actual.

Valor devuelto
Boolean — Si el objeto XML coincide con el parámetro value, el valor es true; en caso contrario, el valor es false.

Véase también


Ejemplo

Este ejemplo muestra el uso del método contains():
var xml:XML =
        <order>
            <item>Rice</item>
            <item>Kung Pao Shrimp</item>
        </order>;
trace(xml.item[0].contains(<item>Rice</item>)); // true
trace(xml.item[1].contains(<item>Kung Pao Shrimp</item>)); // true
trace(xml.item[1].contains(<item>MSG</item>)); // false
copy()método 
AS3 function copy():XML

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve una copia del objeto XML en cuestión. La copia es un duplicado de todo el árbol de nodos. El objeto XML copiado no tiene elemento principal y devuelve null si intenta llamar al método parent().

Valor devuelto
XML — La copia del objeto.

Véase también


Ejemplo

Este ejemplo muestra que el método copy() crea una nueva instancia de un objeto XML. Al modificar la copia, el original permanece intacto:
var xml1:XML = <foo />;
var xml2:XML = xml1.copy();
xml2.appendChild(<bar />);
trace(xml1.bar.length()); // 0
trace(xml2.bar.length()); // 1
defaultSettings()método 
AS3 static function defaultSettings():Object

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve un objeto con las siguientes propiedades configuradas con los valores predeterminados: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent y prettyPrinting. Los valores predeterminados son los siguientes:

Nota: este método no se aplica a una instancia de la clase XML, sino que se aplica a XML, como en el siguiente código: var df:Object = XML.defaultSettings().

Valor devuelto
Object — Un objeto con propiedades configuradas con los valores predeterminados.

Véase también


Ejemplo

El ejemplo siguiente demuestra: cómo aplicar una configuración personalizada (para incluir comentarios e instrucciones de procesamiento) antes de definir un objeto XML; cómo recuperar la configuración predeterminada otra vez antes de definir otro objeto XML; y cómo definir la configuración personalizada de nuevo (para seguir definiendo más objetos XML):
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var customSettings:Object = XML.settings();

var xml1:XML =
        <foo>
            <!-- comment -->
            <?instruction ?>
        </foo>;
trace(xml1.toXMLString());
//    <foo>
//        <!-- comment -->
//         <?instruction ?>
//    </foo>

XML.setSettings(XML.defaultSettings());
var xml2:XML =
        <foo>
            <!-- comment -->
            <?instruction ?>
        </foo>;
trace(xml2.toXMLString());
descendants()método 
AS3 function descendants(name:Object = *):XMLList

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve todos los descendientes (elementos secundarios, terciarios, cuaternarios, etc.) del objeto XML que tiene el parámetro name. El parámetro name es opcional. El parámetro name puede ser un objeto QName, un tipo de datos String o cualquier otro tipo de datos que luego se convierte a un tipo de datos String.

Para devolver todos los descendientes, utilice el parámetro "*". Si no se pasa ningún parámetro, se pasa la cadena "*" y se devuelven todos los descendientes del objeto XML.

Parámetros

name:Object (default = *) — El nombre del elemento con el que va a establecerse la correspondencia.

Valor devuelto
XMLList — Un objeto XMLList con los descendientes coincidentes. Si no hay descendientes, devuelve un objeto XMLList vacío.

Véase también


Ejemplo

Para devolver descendientes con nombres que coincidan con palabras reservadas de ActionScript, utilice el método descendants() y no el operador descendant (..), como se muestra en el siguiente ejemplo:
var xml:XML =
  <enrollees>
    <student id="239">
        <class name="Algebra" />
        <class name="Spanish 2"/>
    </student>
    <student id="206">
        <class name="Trigonometry" />
        <class name="Spanish 2" />
    </student>
  </enrollees>
trace(xml.descendants("class")); 

El siguiente ejemplo muestra que el método descendants() devuelve un objeto XMLList que contiene todos los objetos descendientes, incluidos los objetos secundarios, terciarios, etc.:
XML.ignoreComments = false;
var xml:XML =
        <body>
            <!-- comment -->
            text1
            <a>
                <b>text2</b>
            </a>
        </body>;
trace(xml.descendants("*").length()); // 5
trace(xml.descendants("*")[0]); // // <!-- comment -->
trace(xml.descendants("*")[1].toXMLString()); // text1
trace(xml.descendants("a").toXMLString()); // <a><b>text2</b></a>
trace(xml.descendants("b").toXMLString()); // <b>text2</b>
elements()método 
AS3 function elements(name:Object = *):XMLList

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Enumera los elementos de un objeto XML. Un elemento consta de una etiqueta inicial y otra final; por ejemplo, <first></first>. El parámetro name es opcional. El parámetro name puede ser un objeto QName, un tipo de datos String o cualquier otro tipo de datos que luego se convierte a un tipo de datos String. Utilice el parámetro name para enumerar un elemento concreto. Por ejemplo, el elemento "first" devuelve "John" en este ejemplo: <first>John</first>.

Para enumerar todos los elementos, utilice el parámetro asterisco (*). El asterisco es también el parámetro predeterminado.

Utilice el método length() con el parámetro de asterisco para que en la salida se incluya el número total de elementos. Por ejemplo, numElement = addressbook.elements("*").length().

Parámetros

name:Object (default = *) — El nombre del elemento. El nombre de un elemento va entre paréntesis angulares. Por ejemplo, "first" es el objeto name en este ejemplo: <first></first>.

Valor devuelto
XMLList — Un objeto XMLList con el contenido del elemento. El contenido del elemento queda entre las etiquetas inicial y final. Si utiliza el asterisco (*) para llamar a todos los elementos, se devolverán tanto las etiquetas del elemento como el contenido.

Véase también


Ejemplo

En el ejemplo siguiente, se muestra que el método elements() devuelve sólo una lista de elementos, no de comentarios, propiedades de texto o instrucciones de procesamiento:
var xml:XML =
        <foo>
            <!-- comment -->
            <?instruction ?>
            text
            <a>1</a>
            <b>2</b>
        </foo>;
trace(xml.elements("*").length()); // 2
trace(xml.elements("*")[0].toXMLString()); // <a>1</a>
trace(xml.elements("b").length()); // 1
trace(xml.elements("b")[0].toXMLString()); // <b>2</b>

Para devolver elementos con nombres que coincidan con palabras reservadas de ActionScript, utilice el método elements() y no el operador punto (.) de XML, como se muestra en el siguiente ejemplo:
var xml:XML =
 <student id="206">
    <class name="Trigonometry" />
    <class name="Spanish 2" />
 </student>
trace(xml.elements("class"));
hasComplexContent()método 
AS3 function hasComplexContent():Boolean

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Comprueba si el objeto XML tiene un contenido complejo. Un objeto XML tiene contenido complejo si tiene elementos secundarios. Los objetos XML que representan atributos, comentarios, instrucciones de procesamiento y nodos de texto no tienen contenido complejo. Sin embargo, puede considerarse que un objeto que contains alguno de los elementos anteriores tiene contenido complejo (si el objeto tiene elementos secundarios).

Valor devuelto
Boolean — Si el objeto XML tiene un contenido complejo, el valor es true; en caso contrario, el valor es false.

Véase también


Ejemplo

El siguiente ejemplo muestra un objeto XML con una propiedad llamada a que tiene contenido simple y una propiedad llamada a que tiene contenido complejo:
var xml:XML =
        <foo>
            <a>
                text
            </a>
            <a>
                <b/>
            </a>
        </foo>;
trace(xml.a[0].hasComplexContent()); // false
trace(xml.a[1].hasComplexContent()); // true

trace(xml.a[0].hasSimpleContent()); // true
trace(xml.a[1].hasSimpleContent()); // false
hasOwnProperty()método 
AS3 function hasOwnProperty(p:String):Boolean

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Comprueba si el objeto tiene la propiedad especificada por el parámetro p.

Parámetros

p:String — La propiedad con la que se va a establecer la correspondencia.

Valor devuelto
Boolean — Si la propiedad existe, el valor es true; en caso contrario, el valor es false.

Véase también


Ejemplo

En el ejemplo siguiente, se utiliza el método hasOwnProperty() para garantizar que existe una propiedad (b) antes de evaluar una expresión (b == "11") que utilice la propiedad:
var xml:XML =
        <foo>
            <a />
            <a>
                <b>10</b>
            </a>
            <a>
                <b>11</b>
            </a>
        </foo>;
trace(xml.a.(hasOwnProperty("b") && b == "11")); 
Si la última línea de este ejemplo fuese la que se indica a continuación, Flash Player emitiría una excepción, ya que el primer elemento llamado a no tiene ninguna propiedad denominada b:

trace(xml.a.(b == "11"));


En el ejemplo siguiente, se utiliza el método hasOwnProperty() para garantizar que existe una propiedad (item) antes de evaluar una expresión (item.contains("toothbrush")) que utilice la propiedad:
var xml:XML =
        <orders>
            <order id='1'>
                <item>toothbrush</item>
                <item>toothpaste</item>
            </order>
            <order>
                <returnItem>shoe polish</returnItem>
            </order>
        </orders>;
trace(xml.order.(hasOwnProperty("item") && item.contains("toothbrush"))); 
hasSimpleContent()método 
AS3 function hasSimpleContent():Boolean

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Comprueba si el objeto XML tiene un contenido simple. Un objeto XML tiene contenido simple si representa un nodo de texto, un nodo de atributo o un elemento XML que no tiene elementos secundarios. Los objetos XML que representan comentarios e instrucciones de procesamiento no tienen contenido simple.

Valor devuelto
Boolean — Si el objeto XML tiene un contenido simple, el valor es true; en caso contrario, el valor es false.

Véase también


Ejemplo

El siguiente ejemplo muestra un objeto XML con una propiedad llamada a que tiene contenido simple y una propiedad llamada a que tiene contenido complejo:
var xml:XML =
        <foo>
            <a>
                text
            </a>
            <a>
                <b/>
            </a>
        </foo>;
trace(xml.a[0].hasComplexContent()); // false
trace(xml.a[1].hasComplexContent()); // true

trace(xml.a[0].hasSimpleContent()); // true
trace(xml.a[1].hasSimpleContent()); // false
inScopeNamespaces()método 
AS3 function inScopeNamespaces():Array

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Enumera los espacios de nombres para el objeto XML basándose en el elemento principal del objeto.

Valor devuelto
Array — Una matriz de objetos Namespace.

Véase también

insertChildAfter()método 
AS3 function insertChildAfter(child1:Object, child2:Object):*

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Introduce el parámetro child2 especificado tras el parámetro child1 en este objeto XML y devuelve el objeto resultante. Si el parámetro child1 es null, el método introduce el contenido de child2 delante de todos los elementos secundarios del objeto XML (dicho de otro modo, detrás de ninguno). Si se proporciona child1 pero no existe en el objeto XML, el objeto XML no se modifica y se devuelve undefined.

Si llama a este método en un elemento secundario XML que no es un elemento (texto, atributos, comentarios, pi, etc.), se devuelve undefined.

Utilice el operador delete (XML) para eliminar nodos XML.

Parámetros

child1:Object — El objeto del objeto de origen que se introduce delante de child2.
 
child2:Object — El objeto que se va a introducir.

Valor devuelto
* — El objeto XML resultante o undefined.

Véase también


Ejemplo

Este ejemplo añade un nuevo elemento al final de los elementos secundarios de un objeto XML:
var xml:XML =
        <menu>
            <item>burger</item>
            <item>soda</item>
        </menu>;
xml.insertChildAfter(xml.item[0], <saleItem>fries</saleItem>);
trace(xml);
La salida de trace() es la siguiente:
 <menu>
 	<item>burger</item>
 	<saleItem>fries</saleItem>
 	<item>soda</item>
 </menu>
insertChildBefore()método 
AS3 function insertChildBefore(child1:Object, child2:Object):*

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Introduce el parámetro child2 especificado antes del parámetro child1 en este objeto XML y devuelve el objeto resultante. Si el parámetro child1 es null, el método introduce el contenido de child2 delante de todos los elementos secundarios del objeto XML (dicho de otro modo, detrás de ninguno). Si se proporciona child1 pero no existe en el objeto XML, el objeto XML no se modifica y se devuelve undefined.

Si llama a este método en un elemento secundario XML que no es un elemento (texto, atributos, comentarios, pi, etc.), se devuelve undefined.

Utilice el operador delete (XML) para eliminar nodos XML.

Parámetros

child1:Object — El objeto del objeto de origen que se introduce detrás de child2.
 
child2:Object — El objeto que se va a introducir.

Valor devuelto
* — El objeto XML resultante o undefined.

Véase también


Ejemplo

Este ejemplo añade un nuevo elemento al final de los elementos secundarios de un objeto XML:
var xml:XML =
        <menu>
            <item>burger</item>
            <item>soda</item>
        </menu>;
xml.insertChildBefore(xml.bar[0], <saleItem>fries</saleItem>);
trace(xml);
La salida de trace() es la siguiente:
<menu>
 	<saleItem>fries</saleItem>
 	<item>burger</item>
 	<item>soda</item>
 </menu>
length()método 
AS3 function length():int

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

En el caso de objetos XML, este método siempre devuelve el entero 1. El método length() de la clase XMLList devuelve el valor 1 para un objeto XMLList que contiene un solo valor.

Valor devuelto
int — Siempre devuelve 1 para cualquier objeto XML.

Véase también

localName()método 
AS3 function localName():Object

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Proporciona la parte local del nombre completo del objeto XML.

Valor devuelto
Object — El nombre local en forma de cadena (String) o null.

Véase también


Ejemplo

El ejemplo siguiente demuestra cómo utilizar correctamente el método localName():
var xml:XML =
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
            soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

                        <soap:Body xmlns:wx = "http://example.com/weather">
                <wx:forecast>
                    <wx:city>Quito</wx:city>
                </wx:forecast>
            </soap:Body>
        </soap:Envelope>;

trace(xml.localName()); // Envelope
name()método 
AS3 function name():Object

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Proporciona el nombre completo del objeto XML.

Valor devuelto
Object — El nombre completo es un QName o null.

Véase también


Ejemplo

El siguiente ejemplo ilustra el uso del método name() para obtener el nombre completo de un objeto XML:
var xml:XML =
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
            soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

                        <soap:Body xmlns:wx = "http://example.com/weather">
                <wx:forecast>
                    <wx:city>Quito</wx:city>
                </wx:forecast>
            </soap:Body>
        </soap:Envelope>;

trace(xml.name().localName); // Envelope
trace(xml.name().uri); // "http://www.w3.org/2001/12/soap-envelope"

El siguiente ejemplo ilustra el uso del método name() al que se llama en una propiedad XML, en un elemento de texto o en un atributo:
var xml:XML =
        <foo x="15" y="22">
            text
        </foo>;

trace(xml.name().localName); // foo
trace(xml.name().uri == ""); // true
trace(xml.children()[0]); // text
trace(xml.children()[0].name()); // null
trace(xml.attributes()[0]); // 15
trace(xml.attributes()[0].name()); // x
namespace()método 
AS3 function namespace(prefix:String = null):*

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Si no se especifica ningún parámetro, proporciona el espacio de nombres asociado al nombre completo de este objeto XML. Si se especifica un parámetro prefix, el método devuelve el espacio de nombres que coincida con el parámetro prefix y esté en el ámbito del objeto XML. Si no existe el espacio de nombres en cuestión, el método devuelve undefined.

Parámetros

prefix:String (default = null) — El prefijo con el que desea averiguar si hay coincidencias.

Valor devuelto
* — Devuelve null, undefined o un espacio de nombres.

Véase también


Ejemplo

En el ejemplo siguiente, se utiliza el método namespace() para obtener el espacio de nombres de un objeto XML y asignarlo a un objeto Namespace llamado soap que, después, se utiliza para identificar una propiedad del objeto xml (xml.soap::Body[0]):
var xml:XML =
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
            soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

                        <soap:Body xmlns:wx = "http://example.com/weather">
                <wx:forecast>
                    <wx:city>Quito</wx:city>
                </wx:forecast>
            </soap:Body>
        </soap:Envelope>;

var soap:Namespace = xml.namespace();
trace(soap.prefix); // soap
trace(soap.uri); // http://www.w3.org/2001/12/soap-envelope

var body:XML = xml.soap::Body[0];
trace(body.namespace().prefix); // soap
trace(xml.namespace().uri); // http://www.w3.org/2001/12/soap-envelope
trace(body.namespace("wx").uri); // "http://example.com/weather"

En el ejemplo siguiente, se utiliza el método namespace() para obtener el espacio de nombres predeterminado de un nodo, así como el espacio de nombres de un prefijo específico ("dc"):
var xml:XML =
        <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns="http://purl.org/rss/1.0/">
                <!--... -->
        </rdf:RDF>;

trace(xml.namespace()); // http://www.w3.org/1999/02/22-rdf-syntax-ns#
trace(xml.namespace("dc")); // http://purl.org/dc/elements/1.1/
trace(xml.namespace("foo")); // undefined
namespaceDeclarations()método 
AS3 function namespaceDeclarations():Array

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Enumera las declaraciones de espacio de nombres asociadas al objeto XML en el contexto de su elemento principal.

Valor devuelto
Array — Una matriz de objetos Namespace.

Véase también


Ejemplo

El siguiente ejemplo da como resultado las declaraciones de espacios de nombres de un objeto XML:
var xml:XML =
        <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns="http://purl.org/rss/1.0/">

            <!--... -->

        </rdf:RDF>;

for (var i:uint = 0; i < xml.namespaceDeclarations().length; i++) {
    var ns:Namespace = xml.namespaceDeclarations()[i];
    var prefix:String = ns.prefix;
    if (prefix == "") {
        prefix = "(default)";
    }
    trace(prefix + ":", ns.uri);
}
La salida de trace() es la siguiente:
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
 dc: http://purl.org/dc/elements/1.1/
 (default): http://purl.org/rss/1.0/
nodeKind()método 
AS3 function nodeKind():String

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Especifica el tipo de nodo: texto, comentario, instrucción de procesamiento, atributo o elemento.

Valor devuelto
String — El tipo de nodo utilizado.

Véase también


Ejemplo

Este ejemplo muestra los cinco tipos de nodos:
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;

var xml:XML =
    <example id="10">
        <!-- this is a comment -->
        <?test this is a pi ?>
        and some text
    </example>;

trace(xml.nodeKind()); // element
trace(xml.children()[0].nodeKind()); // comment
trace(xml.children()[1].nodeKind()); // processing-instruction
trace(xml.children()[2].nodeKind()); // text
trace(xml.@id[0].nodeKind()); // attribute
normalize()método 
AS3 function normalize():XML

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Para el objeto XML y todos los objetos XML descendientes, funde los nodos de texto adyacentes y elimina los nodos de texto vacíos.

Valor devuelto
XML — El objeto XML normalizado resultante.

Véase también


Ejemplo

El ejemplo siguiente muestra el efecto que tiene llamar al método normalize():
var xml:XML = <body></body>;
xml.appendChild("hello");
xml.appendChild(" world");
trace(xml.children().length()); // 2
xml.normalize();
trace(xml.children().length()); // 1
parent()método 
AS3 function parent():*

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve el elemento principal del objeto XML. Si el objeto XML carece de elemento principal, el método devuelve undefined.

Valor devuelto
* — El objeto XML principal. Devuelve una cadena String o null.

Véase también


Ejemplo

En el ejemplo siguiente, se utiliza el método parent() para identificar el elemento principal de un elemento concreto en una estructura XML:
var xml:XML =
    <body>
        <p id="p1">Hello</p>
        <p id="p2">Test:
            <ul>
                <li>1</li>
                <li>2</li>
            </ul>
        </p>
    </body>;
var node:XML = xml.p.ul.(li.contains("1"))[0]; // == <ul>... </ul>
trace(node.parent().@id); // p2
prependChild()método 
AS3 function prependChild(value:Object):XML

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Introduce una copia del objeto child (secundario) proporcionado en el elemento XML delante de cualquier propiedad XML existente para dicho elemento.

Utilice el operador delete (XML) para eliminar nodos XML.

Parámetros

value:Object — El objeto que se va a introducir.

Valor devuelto
XML — El objeto XML resultante.

Véase también


Ejemplo

El siguiente ejemplo utiliza el método prependChild() para añadir un elemento al principio de una lista de elementos secundarios en un objeto XML:
var xml:XML =
        <body>
            <p>hello</p>
        </body>;

xml.prependChild(<p>world</p>);
trace(xml.p[0].toXMLString()); // <p>world</p>
trace(xml.p[1].toXMLString()); // <p>hello</p>
processingInstructions()método 
AS3 function processingInstructions(name:String = "*"):XMLList

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Si se proporciona un parámetro name, enumera todos los elementos secundarios del objeto XML que contienen instrucciones de procesamiento con dicho nombre name. Si no hay parámetros, el método enumera todos los elementos secundarios del objeto XML que contienen instrucciones de procesamiento.

Parámetros

name:String (default = "*") — El nombre de las instrucciones de procesamiento con las que va a establecerse la correspondencia.

Valor devuelto
XMLList — Lista de objetos secundarios coincidentes.

Véase también


Ejemplo

El siguiente ejemplo utiliza el método processingInstructions() para obtener una matriz de instrucciones de procesamiento para un objeto XML:
XML.ignoreProcessingInstructions = false;
var xml:XML =
    <body>
            foo
            <?xml-stylesheet href="headlines.css" type="text/css" ?>
            <?instructionX ?>

    </body>;

trace(xml.processingInstructions().length()); // 2
trace(xml.processingInstructions()[0].name()); // xml-stylesheet
propertyIsEnumerable()método 
AS3 function propertyIsEnumerable(p:String):Boolean

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Comprueba si la propiedad p está en el conjunto de propiedades que se pueden repetir en una sentencia for..in aplicada al objeto XML. Devuelve true sólo si toString(p) == "0".

Parámetros

p:String — La propiedad que desea comprobar.

Valor devuelto
Boolean — Si la propi