我需要使用Flash CS5.5中的AIR编写一些XML 我的代码有效,但我不知道如何编写一些没有flash转换的HTML标签<至 ; &安培; GT; 我想写一个HTML代码。 我怎样才能做到这一点?
这是我正在使用的代码类型,即从Flash CS5.5开始使用AIR
一切正常,除非我没有得到"<"但是;& GT;在输出文件中,对于许多HTML标志,例如>等
function SaveFile(event:MouseEvent){
var objs:XML = new XML( <objects /> );
var ball1:XML = <ball />.appendChild(input_text.text);
// In the input i want to write the CDATA and the HTML text dynamically each time
ball1.@xPos = 12;
ball1.@yPos = 42;
objs.appendChild( ball1 );
var vFile = File.desktopDirectory.resolvePath('file.xml');
var vStream = new FileStream();
vStream.open(vFile, FileMode.WRITE);
vStream.writeUTFBytes(objs);
vStream.close();
}
答案 0 :(得分:1)
您正在将String
传递给appendChild
函数,这就是您将结果作为xml文件中的“文本”的原因。为避免这种情况,您只需传递XML
对象而不是String
:
// ...
var ball1:XML = <ball />.appendChild(new XML(input_text.text));
// ...
编辑:
要将XML声明添加到XML文件,可以使用XMLDocument
,如下所示:
// ...
objs.appendChild(ball1);
var xml_document:XMLDocument = new XMLDocument(objs.toXMLString());
xml_document.xmlDecl = '<?xml version="1.0" encoding="utf-8"?>\n';
var file = File.desktopDirectory.resolvePath('file.xml');
var file_stream = new FileStream();
file_stream.open(file, FileMode.WRITE);
file_stream.writeUTFBytes(xml_document.toString());
file_stream.close();
希望可以提供帮助。