Referencia de ActionScript® 3.0 para la plataforma de Adobe® Flash®
Inicio  |  Ocultar lista de paquetes y clases |  Paquetes  |  Clases  |  Novedades  |  Índice  |  Apéndices  |  ¿Por qué hay texto en inglés?
Filtros: Recuperando datos del servidor...
Recuperando datos del servidor...
Nivel superior 

XML  - AS3

PaqueteNivel superior
Clasepublic final dynamic class XML
HerenciaXML Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

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

Más información

Elementos de API relacionados



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
[estática] Determina si los comentarios XML se ignoran cuando los objetos XML analizan los datos XML de origen.
XML
  ignoreProcessingInstructions : Boolean
[estática] Determina si las instrucciones de procesamiento XML se ignoran cuando los objetos XML analizan los datos XML de origen.
XML
  ignoreWhitespace : Boolean
[estática] 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
[estática] 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
[estática] Determina si los métodos toString() y toXMLString() normalizan los caracteres de espacio en blanco existentes entre algunas etiquetas.
XML
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
  
Devuelve una copia del objeto XML en cuestión.
XML
  
[estática] 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
  
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
  
Introduce el parámetro child2 especificado tras el parámetro child1 en este objeto XML y devuelve el objeto resultante.
XML
  
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
  
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
  
[estática] Establece valores para las siguientes propiedades XML: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent y prettyPrinting.
XML
  
[estática] 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
  
Proporciona un método anulable para personalizar la codificación JSON de valores de un objeto XML.
XML
 Inherited
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional.
Object
  
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

ignoreComments

propiedad
ignoreComments:Boolean

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, 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 static function set ignoreComments(value:Boolean):void

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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/>

ignoreProcessingInstructions

propiedad 
ignoreProcessingInstructions:Boolean

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, 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 static function set ignoreProcessingInstructions(value:Boolean):void

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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/>

ignoreWhitespace

propiedad 
ignoreWhitespace:Boolean

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, 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.

Cuando se crea un objeto XML, guarda en caché el valor actual de la propiedad ignoreWhitespace. Cambiar ignoreWhitespace no cambia el comportamiento de los objetos XML existentes.



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

Ejemplo  ( Cómo utilizar este 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

prettyIndent

propiedad 
prettyIndent:int

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, 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 static function set prettyIndent(value:int):void

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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());

prettyPrinting

propiedad 
prettyPrinting:Boolean

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, 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 static function set prettyPrinting(value:Boolean):void

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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

()Información sobre
public function XML(value:Object)

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

En el ejemplo siguiente, se muestra cómo se puede cargar un documento XML remoto en ActionScript 3.0 mediante la clase URLLoader de Flash Professional. Ejemplo facilitado por ActionScriptExamples.com.
//
// Requires:
//   - TextArea control UI component in the Flash Professional Library.
//
import fl.controls.TextArea;
 
var xml:XML;
 
var urlRequest:URLRequest = new URLRequest("http://www.helpexamples.com/flash/xml/menu.xml");
 
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
urlLoader.load(urlRequest);
 
var textArea:TextArea = new TextArea();
textArea.move(5, 5);
textArea.setSize(stage.stageWidth - 10, stage.stageHeight - 10);
addChild(textArea);
 
function urlLoader_complete(evt:Event):void {
    xml = new XML(evt.currentTarget.data);
    textArea.text = xml.toXMLString();
}

Esta es otra variación utilizando íntegramente ActionScript. Ejemplo facilitado por ActionScriptExamples.com.
var xml:XML;
var textArea:TextField = new TextField();
textArea.width = 300;
 
var urlRequest:URLRequest = new URLRequest("http://www.helpexamples.com/flash/xml/menu.xml");
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
urlLoader.load(urlRequest);
 
function urlLoader_complete(evt:Event):void {
    xml = new XML(evt.target.data);
    textArea.text = xml.toXMLString();
    addChild(textArea);
}
Información sobre métodos

addNamespace

()método
AS3 function addNamespace(ns:Object):XML

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, 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.

Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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. Utilizar xml.attributes() equivale a emplear xml.@*.

Valor devuelto
XMLList — La lista de valores de atributos.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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 devolver el contenido de un elemento secundario llamado <first>, llame a child("first") en el objeto XML. 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, 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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:

  • ignoreComments = true
  • ignoreProcessingInstructions = true
  • ignoreWhitespace = true
  • prettyIndent = 2
  • prettyPrinting = true

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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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 (.) , 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
Versiones de motor de ejecución: AIR 1.0, 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

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

Valor devuelto
Array — Un conjunto de objetos Namespace.

insertChildAfter

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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.item[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
Versiones de motor de ejecución: AIR 1.0, 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.

localName

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, 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.

Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Proporciona el nombre completo del objeto XML.

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

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

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

Valor devuelto
Array — Un conjunto de objetos Namespace.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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
* — Una referencia XML del nodo principal o undefined si el objeto XML no tiene ningún elemento principal.

Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: AIR 1.0, 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.

Ejemplo  ( Cómo utilizar este ejemplo )

El siguiente ejemplo utiliza el método processingInstructions() para obtener un conjunto 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
Versiones de motor de ejecución: AIR 1.0, 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 propiedad puede repetirse en una sentencia for..in, el valor es true; en caso contrario, es false.

Ejemplo  ( Cómo utilizar este ejemplo )

En el ejemplo siguiente, se muestra que para un objeto XML, el método propertyNameIsEnumerable() devuelve un valor true únicamente para el valor 0; mientras que en un objeto XMLList object, el valor devuelto es true para cada valor de índice válido del objeto XMLList:
var xml:XML = 
        <body>
             <p>Hello</p>
               <p>World</p>
        </body>;

trace(xml.propertyIsEnumerable(0)); // true
trace(xml.propertyIsEnumerable(1)); // false

for (var propertyName:String in xml) {
    trace(xml[propertyName]);
}

var list:XMLList = xml.p;
trace(list.propertyIsEnumerable(0)); // true
trace(list.propertyIsEnumerable(1)); // true
trace(list.propertyIsEnumerable(2)); // false

for (var propertyName:String in list) { 
    trace(list[propertyName]);
}

removeNamespace

()método 
AS3 function removeNamespace(ns:Namespace):XML

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Elimina el espacio de nombres proporcionado para este objeto y todos los descendientes. El método removeNamespaces() no elimina un espacio de nombres si el nombre completo del objeto o el nombre completo de los atributos del objeto hacen referencia a él.

Parámetros

ns:Namespace — El espacio de nombres que se va a eliminar.

Valor devuelto
XML — Una copia del objeto XML resultante.

Ejemplo  ( Cómo utilizar este ejemplo )

El siguiente ejemplo muestra cómo eliminar una declaración de espacio de nombres en 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>;

trace(xml.namespaceDeclarations().length); // 3
trace(xml.namespaceDeclarations()[0] is String); // 
var dc:Namespace = xml.namespace("dc");
xml.removeNamespace(dc);
trace(xml.namespaceDeclarations().length); // 2

replace

()método 
AS3 function replace(propertyName:Object, value:XML):XML

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Sustituye las propiedades especificadas mediante el parámetro propertyName por el parámetro value. Si no hay ninguna propiedad que coincida con propertyName, el objeto XML permanecerá sin cambios.

Parámetros

propertyName:Object — Puede tratarse de un valor numérico, un nombre incompleto para un conjunto de elementos XML, un nombre completo para un conjunto de elementos XML o el comodín de asterisco ("*"). Utilice un nombre incompleto para identificar elementos XML en el espacio de nombres predeterminado.
 
value:XML — El valor de sustitución. Puede ser un objeto XML, un objeto XMLList o cualquier valor que pueda convertirse con toString().

Valor devuelto
XML — El objeto XML resultante, con las propiedades coincidentes sustituidas.

Ejemplo  ( Cómo utilizar este ejemplo )

El siguiente ejemplo ilustra la llamada al método replace() con un entero como primer parámetro:
var xml:XML = 
    <body>
        <p>Hello</p>
        <p>World</p>
        <hr/>
    </body>;

xml.replace(1, <p>Bob</p>);
trace(xml);
Este código da como resultado la salida trace() siguiente:

 <body>
     <p>Hello</p>
     <p>Bob</p>
     <hr/>
 </body>
 

El siguiente ejemplo llama al método replace() con una cadena como primer parámetro:
var xml:XML = 
    <body>
        <p>Hello</p>
        <p>World</p>
        <hr/>
    </body>;

xml.replace("p", <p>Hi</p>); 
trace(xml);
Este código da como resultado la salida trace() siguiente:

 <body>
     <p>Hi</p>
     <hr/>
 </body>;
 

El siguiente ejemplo ilustra la llamada al método replace() con un objeto QName como primer parámetro:
var xml:XML = 
    <ns:body xmlns:ns = "myNS">
        <ns:p>Hello</ns:p>
        <ns:p>World</ns:p>
        <hr/>
    </ns:body>;

var qname:QName = new QName("myNS", "p");
xml.replace(qname, <p>Bob</p>);
trace(xml);

Este código da como resultado la salida trace() siguiente:

 <ns:body xmlns:ns = "myNS">
     <p>Bob</p>
     <hr/>
 </ns:body>
 

El siguiente ejemplo ilustra la llamada al método replace() con la cadena "*" como primer parámetro:
var xml:XML = 
    <body>
        <p>Hello</p>
        <p>World</p>
        <hr/>
    </body>;

xml.replace("*", <img src = "hello.jpg"/>);
trace(xml);
Este código da como resultado la salida trace() siguiente:

 <body>
     <img src="hello.jpg"/>
 </body>
 

setChildren

()método 
AS3 function setChildren(value:Object):XML

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Sustituye las propiedades secundarias del objeto XML por el conjunto especificado de propiedades XML, proporcionadas en el parámetro value.

Parámetros

value:Object — Las propiedades XML sustitutas. Puede ser un único objeto XML o un objeto XMLList.

Valor devuelto
XML — El objeto XML resultante.

Ejemplo  ( Cómo utilizar este ejemplo )

El siguiente ejemplo ilustra la llamada al método setChildren() utilizando primero un objeto XML como parámetro y, después, utilizando como parámetro un objeto XMLList:
var xml:XML = 
    <body>
        <p>Hello</p>
        <p>World</p>
    </body>;

var list:XMLList = xml.p;

xml.setChildren(<p>hello</p>);
trace(xml);

//    <body>
//        <p>hello</p>
//    </body>

xml.setChildren(list);
trace(xml);

//    <body>
//        <p>Hello</p>
//        <p>World</p>
//    </body>

setLocalName

()método 
AS3 function setLocalName(name:String):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Cambia el nombre local del objeto XML al parámetro name especificado.

Parámetros

name:String — El nombre sustituto para el nombre local.


Ejemplo  ( Cómo utilizar este ejemplo )

El siguiente ejemplo utiliza el método setLocalName() para cambiar el nombre local de un elemento XML:
var xml:XML = 
    <ns:item xmlns:ns="http://example.com">
        toothbrush
    </ns:item>;
    
xml.setLocalName("orderItem");
trace(xml.toXMLString()); // <ns:orderItem xmlns:ns="http://example.com">toothbrush</ns:orderItem>

setName

()método 
AS3 function setName(name:String):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Establece el nombre del objeto XML con el nombre completo o nombre de atributo especificado.

Parámetros

name:String — El nuevo nombre del objeto.


Ejemplo  ( Cómo utilizar este ejemplo )

El siguiente ejemplo utiliza el método setName() para cambiar el nombre de un elemento XML:
var xml:XML = 
    <item>
        toothbrush
    </item>;
    
xml.setName("orderItem");
trace(xml.toXMLString()); // <orderItem>toothbrush</orderItem>

setNamespace

()método 
AS3 function setNamespace(ns:Namespace):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Establece el espacio de nombres asociado al objeto XML.

Parámetros

ns:Namespace — El nuevo espacio de nombres.


Ejemplo  ( Cómo utilizar este ejemplo )

En el ejemplo siguiente, se utiliza el espacio de nombres soap definido en un objeto XML y se aplica al espacio de nombres de otro objeto XML (xml2):
var xml1:XML = 
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
            soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
            <!-- ... -->
        </soap:Envelope>;
var ns:Namespace = xml1.namespace("soap");

var xml2:XML = 
    <Envelope>
        <Body/>
    </Envelope>;
    
xml2.setNamespace(ns);

trace(xml2);

setSettings

()método 
AS3 static function setSettings(... rest):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Establece valores para las siguientes propiedades XML: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent y prettyPrinting. A continuación se indica la configuración predeterminada, que se aplica si no se proporciona ningún parámetro setObj:

  • XML.ignoreComments = true
  • XML.ignoreProcessingInstructions = true
  • XML.ignoreWhitespace = true
  • XML.prettyIndent = 2
  • XML.prettyPrinting = true

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: XML.setSettings().

Parámetros

... rest — Un objeto con las propiedades siguientes:
  • ignoreComments
  • ignoreProcessingInstructions
  • ignoreWhitespace
  • prettyIndent
  • prettyPrinting

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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());

settings

()método 
AS3 static function settings():Object

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Recupera las siguientes propiedades: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent y prettyPrinting.

Valor devuelto
Object — Un objeto con las propiedades XML siguientes:
  • ignoreComments
  • ignoreProcessingInstructions
  • ignoreWhitespace
  • prettyIndent
  • prettyPrinting

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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());

text

()método 
AS3 function text():XMLList

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Devuelve un objeto XMLList con todas las propiedades XML del objeto XML que representan los nodos de texto XML.

Valor devuelto
XMLList — La lista de propiedades.

Ejemplo  ( Cómo utilizar este ejemplo )

El siguiente ejemplo utiliza el método text() para obtener los nodos de texto de un objeto XML:
var xml:XML =
        <body>
            text1
            <hr/>
            text2
        </body>;
trace(xml.text()[0]); // text1
trace(xml.text()[1]); // text2

toJSON

()método 
AS3 function toJSON(k:String):*

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11, AIR 3, Flash Lite 4

Proporciona un método anulable para personalizar la codificación JSON de valores de un objeto XML.

El método JSON.stringify() busca un método toJSON() en cada objeto que atraviesa. Si el método toJSON() se encuentra, JSON.stringify() lo llama para cada valor que encuentra, transfiriendo la tecla que está emparejada con el valor.

XML ofrece una implementación predeterminada de toJSON() que simplemente devuelve el nombre de la clase. Los clientes que deseen exportar objetos XML a JSON deben proporcionar su propia implementación. Para ello, puede redefinir el método toJSON() en el prototipo de la clase.

El método toJSON() puede devolver un valor de cualquier tipo. Si devuelve un objeto, stringify() se repite en el objeto. Si toJSON() devuelve una cadena, stringify() no se repite y continúa su recorrido.

Parámetros

k:String — La clave de un par clave/valor que JSON.stringify() ha encontrado en su recorrido por este objeto

Valor devuelto
* — La cadena del nombre de la clase.

Elementos de API relacionados

Object
Object.prototype

toString

()método 
AS3 function toString():String

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Devuelve una representación de cadena del objeto XML. Las reglas para esta conversión dependen de si el objeto XML tiene contenido simple o contenido complejo:

  • Si el objeto XML tiene contenido simple, toString() devuelve el contenido de cadena del objeto XML con la siguiente información eliminada: la etiqueta inicial, los atributos, las declaraciones de espacio de nombres y la etiqueta final.
  • Si el objeto XML tiene contenido complejo, toString() devuelve una cadena (String) con codificación XML que representa al objeto XML completo, incluidos la etiqueta inicial, los atributos, las declaraciones de espacio de nombres y la etiqueta final.

Para que se devuelva siempre el objeto XML completo, utilice toXMLString().

Valor devuelto
String — La representación de cadena del objeto XML.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

El siguiente ejemplo muestra qué devuelve el método toString() cuando el objeto XML tiene contenido simple:
var test:XML = <type name="Joe">example</type>;
trace(test.toString()); //example

El siguiente ejemplo muestra qué devuelve el método toString() cuando el objeto XML tiene contenido complejo:
var test:XML = 
<type name="Joe">
    <base name="Bob"></base>
    example
</type>;
trace(test.toString());
  // <type name="Joe">
  // <base name="Bob"/>
  // example
  // </type> 

toXMLString

()método 
AS3 function toXMLString():String

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Devuelve una representación de cadena del objeto XML. A diferencia del método toString(), el método toXMLString() siempre devuelve la etiqueta inicial, los atributos y la etiqueta final del objeto XML, con independencia de si el objeto XML tiene contenido simple o complejo. (El método toString() elimina estos elementos en el caso de objetos XML que tienen contenido simple.)

Valor devuelto
String — La representación de cadena del objeto XML.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

El siguiente ejemplo muestra la diferencia entre utilizar el método toString() (que se aplica a todos los parámetros de un método trace() de forma predeterminada) y utilizar el método toXMLString():
var xml:XML =
        <p>hello</p>;
trace(xml); // hello
trace(xml.toXMLString()); // <p>hello</p>

valueOf

()método 
AS3 function valueOf():XML

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9

Devuelve el objeto XML.

Valor devuelto
XML — El valor simple de una instancia XML.

Ejemplo  ( Cómo utilizar este ejemplo )

El siguiente ejemplo muestra que el valor devuelto por el método valueOf() es el mismo que el objeto XML de origen:
var xml:XML = <p>hello</p>;
trace(xml.valueOf() === xml); // true
XMLExample.as

El siguiente ejemplo primero crea una variable XML y luego le añade nodos. Las propiedades XML se utilizan para buscar e imprimir nodos XML. Observe que el símbolo "arroba" (@) se utiliza en varias de las llamadas a trace() para localizar la información por nombre de atributo.
package {
    import flash.display.Sprite;

    public class XmlExample extends Sprite {        
        public function XmlExample() {
            var employees:XML =
                <employees>
                    <employee ssn="123-123-1234">
                        <name first="John" last="Doe"/>
                        <address>
                            <street>11 Main St.</street>
                            <city>San Francisco</city>
                            <state>CA</state>
                            <zip>98765</zip>
                        </address>
                    </employee>
                    <employee ssn="789-789-7890">
                        <name first="Mary" last="Roe"/>
                        <address>
                            <street>99 Broad St.</street>
                            <city>Newton</city>
                            <state>MA</state>
                            <zip>01234</zip>
                        </address>
                    </employee>
                </employees>;

            trace(employees.employee[0].address.zip);   // 98765

            trace(employees.employee[1].@ssn);          // 789-789-7890

            trace(employees.employee.name);             // <name first="John" last="Doe"/>
                                                        // <name first="Mary" last="Roe"/>

            trace(employees..zip[0]);                   // 98765

            trace(employees..@ssn[1]);                  // 789-789-7890

            trace(employees..name);                     // <name first="John" last="Doe"/>
                                                        // <name first="Mary" last="Roe"/>

            trace(employees.employee[0].address.*);     // <street>11 Main St.</street>    
                                                        // <city>San Francisco</city>
                                                        // <state>CA</state>
                                                        // <zip>98765</zip>
            var node:String = "zip";
            trace(employees.employee[0].address[node]); // 98765
            
            var attribute:String = "ssn";
            trace(employees.employee[1].@[attribute]);  // 789-789-7890
            
            for each (var num:XML in employees..@ssn) {
                trace(num);                             // 123-123-1234
            }                                           // 789-789-7890
            
            var ssnToFind:String = "789-789-7890";
            trace(employees.employee.(@ssn == ssnToFind).toXMLString());
                                                        // <employee ssn="789-789-7890">
                                                        // <name first="Mary" last="Roe"/>
                                                        // <address>
                                                        // <street>99 Broad St.</street>
                                                        // <city>Newton</city>
                                                        // <state>MA</state>
                                                        // <zip>01234</zip>
                                                        // </address>
                                                        // </employee>
        }
    }
}




[ X ]¿Por qué hay texto en inglés?
Cierto contenido de la Referencia de ActionScript 3.0 se muestra en inglés

No todo el contenido de la Referencia de ActionScript 3.0 se traduce a todos los idiomas. Si un elemento del lenguaje no se traduce, aparecerá en inglés. Por ejemplo, la clase ga.controls.HelpBox no está traducida en ningún idioma. Por lo tanto, en la versión en español de la referencia, la clase ga.controls.HelpBox aparecerá en inglés.