Comunidad de diseño web y desarrollo en internet online

XMLNode y XMLNodeList

Citar            
MensajeEscrito el 03 Ene 2008 01:53 pm
Buenas! Feliz año para todos!

A ver si me pueden dar una mano con esto, se los agradeceria.
Estoy trabajando con Flash CS3 + AS3 + Webservices (.NET C#). (SI, webservices en flash CS3)

El problema es que en la respuesta de un webservice, estoy enviando lo que en C# seria un array de XMLNode (XMLNodeList). Algo asi:

Código :

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <RetrieveXMLResponse xmlns="http://blumer.com.ar/">
      <RetrieveXMLResult>
        <XmlNode>
          <Page name="FrontCover">
            <box name="Disclaimer" id="4">
              <category id="2" name="Disclaimer" value="Este es el Disclaimer">
                <valuepair value=""/>
              </category>
            </box>
          </Page>
        </XmlNode>
<XmlNode>
          <Page name="FrontCover">
            <box name="Disclaimer" id="4">
              <category id="2" name="Disclaimer" value="Disclaimer">
                <valuepair value=""/>
              </category>
            </box>
          </Page>
        </XmlNode>

      </RetrieveXMLResult>
    </RetrieveXMLResponse>
  </soap:Body>
</soap:Envelope>


Ahora, en AS3, tengo una clase XMLNode, si trato de usarla, tengo un error de conversion, obviamente:

Código :

var ws:WebService = new WebService();
ws.addEventListener(Event.CONNECT, connected);
ws.connect("http://localhost/Core.asmx?WSDL");
function connected(evt:Event):void {
   ws.RetrieveXML(done, "Page");
}

function done(serviceResponse:XMLNode):void { //aca tengo un error, porque lo que recibo es un array.
   var strresponse:XML = serviceResponse;
   trace("Este es el resultado: " + strresponse);
}


Si lo declaro en AS3 como :XML, no hay errores. Pero en este caso, como hago para acceder por ejemplo a (en el XML):

Código :

<Page name="FrontCover">
            <box name="Disclaimer" id="4">
              <category id="2" name="Disclaimer" value="Este es el Disclaimer. Este es el valor que quiero acceder"/>


Se entiende? Estoy viendo la ayuda del Flash, pero los ejemplos que utiliza no me aclaran mucho. Podria acceder a ese valor haciendo algo como:
strresponse.children().children().children();

Pero supongo que haya algo mas "accesible" no?

Gracias!

Por selecters75

51 de clabLevel



Genero:Masculino  

Argentina

msie7
Citar            
MensajeEscrito el 04 Ene 2008 06:22 pm
Ooops, me respondo en parte yo solo. Acá tienen un pdf con el Standard ECMA-357 ECMAScript for XML (E4X) Specification. Que es el standard que utiliza Adobe para XML.
Pero si alguien quiere agregar al go mas es bienvenido :).

Por selecters75

51 de clabLevel



Genero:Masculino  

Argentina

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.