Flash CS5.5-AIR 我无法使用 writeUTF 字节写入 HTML 标签
Flash CS5.5-AIR i cant write HTML tags with writeUTFBytes
我需要使用来自 Flash CS5.5 的 AIR 编写一些 XML
我的代码有效,但我不知道如何在不将 < 转换为 ; 的情况下编写一些 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();
}
您正在将 String
传递给 appendChild
函数,这就是您在 xml 文件中将结果作为 "text" 的原因。所以为了避免这种情况,你只需要传递一个 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();
希望能帮到你。
我需要使用来自 Flash CS5.5 的 AIR 编写一些 XML 我的代码有效,但我不知道如何在不将 < 转换为 ; 的情况下编写一些 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();
}
您正在将 String
传递给 appendChild
函数,这就是您在 xml 文件中将结果作为 "text" 的原因。所以为了避免这种情况,你只需要传递一个 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();
希望能帮到你。