Aunque llevo mucho tiempo leyendo CristaLab este es mi primer post. Antes de nada agradecer CristaLab y a todos sus foreros sus aportes ya que me habeis sacado de muchos apuros.
Mi caso es el siguiente. Tengo un cliente flash (programado en CS3 y AS2) que crea un XML en el que en algun momento hace...
Código :
[...]
profileNode = mainstructureXML.createElement("profile");
profileNode.attributes.headerTitle3=_root.myProfile["headerTitle3"];
profileNode.attributes.headerTitle2=_root.myProfile["headerTitle2"];
profileNode.attributes.headerTitle1=_root.myProfile["headerTitle1"];
profileNode.attributes.defaultImage=_root.myProfile["defaultImage"];
var textProfile:XMLNode = mainstructureXML.createTextNode("<![CDATA["+_root.myProfile["content"]+"]]>");
profileNode.appendChild(textProfile);
[...]
luego este cliente manda el XML a un script php que lo escribe en un fichero.
Aparentemente el XML está bien, pero el problema es que cuando lo leo, considera CDATA como texto y no como etiqueta.
Código :
[...] trace(cNode.firstChild.nodeValue); [...]
La salida del trace es <![CDATA[Texto de mi nodo con contenido HTML como <b>negrita</b>]]>
cuando debería ser el contenido del CDATA , "Texto de mi nodo con contenido HTML como <b>negrita</b>".
Indagando un poco he visto que el problema es que el builder XML de flash no es capaz de crear un CDATA Nodetype sino que los unicos elementos XML que puede crear son createTextNode y createElementNode. Por otro lado, la propiedad "nodeType" es sólo de lectura de manera que no podemos crear un nodo de text y luego cambiar su tipo.
¿Le ha pasado esto a alguien?
¿algun remedio aunque sea a través de php?
