AdobeFlex-生成XML文件
我试图在AdobeFlex4.6中生成XML文件。这是我的密码AdobeFlex-生成XML文件,xml,flash,apache-flex,air,adobe,Xml,Flash,Apache Flex,Air,Adobe,我试图在AdobeFlex4.6中生成XML文件。这是我的密码 public var prefsFile:File; [Bindable] public var prefsXML:XML; public var stream:FileStream; private function createXMLData():void { var location:String = ""; prefsXML = <root/>;
public var prefsFile:File;
[Bindable] public var prefsXML:XML;
public var stream:FileStream;
private function createXMLData():void
{
var location:String = "";
prefsXML = <root/>;
var i:int = 0;
if(photoList.length > 0){
for(i; i< photoList.length; i++){
prefsXML.P[i] = photoList[i]; //photoList is an array which contain names
}
}
var outputString:String = '<?xml version="1.0" encoding="utf-8"?>\n';
outputString += prefsXML.toXMLString();
outputString = outputString.replace(/\n/g, File.lineEnding);
trace("XML file: " + prefsXML.toXMLString());
stream = new FileStream();
stream.open(prefsFile, FileMode.WRITE);
stream.writeUTFBytes(outputString);
stream.close();
}
public-var-prefsFile:File;
[Bindable]公共变量prefsXML:XML;
公共var流:FileStream;
私有函数createXMLData():void
{
变量位置:String=“”;
prefsXML=;
变量i:int=0;
如果(photoList.length>0){
对于(i;i
这是我的输出
<root>
<P xmlns="views:AddDetails">16032012155637.jpg</P>
<P xmlns="views:AddDetails">16032012155642.jpg</P>
</root>
16032012155637.jpg
16032012155642.jpg
我不知道如何将xmlns=“views:AddDetails”
添加到
标记中
谁能给我解释一下吗?
非常感谢默认情况下,XML采用文件的名称空间 这是一个有点脏的修复程序,但它可以工作,请将它放在var
outputString:String=…
var ns:Namespace = new Namespace();
var node:XML;
prefsXML.addNamespace(ns);
prefsXML.setNamespace(ns);
for each (node in prefsXML.descendants())
node.setNamespace(ns);
希望有帮助。有趣。我测试了您的代码,得到了相同的结果,尽管我没想到:
<root>
<P xmlns="Test_XMLNS">16032012155637.jpg</P>
<P xmlns="Test_XMLNS">16032012155642.jpg</P>
</root>
导致添加xmlns,但
prefsXML.P = photoList[i];
没有
在任何情况下,您都可以通过添加稍微不同的新元素来修复它:
if(photoList.length > 0){
for(i; i< photoList.length; i++){
prefsXML.appendChild(<P>{photoList[i]}</P>); //photoList is an array which contain names
}
}
if(photoList.length>0){
对于(i;i{photoList[i]});//photoList是一个包含名称的数组
}
}
是的,您是正确的,属性值是类的名称。你认为这是一只虫子吗?再次感谢你,这对我很有帮助。我不能说这是否是有意的行为,但这似乎是可疑的,只有当你在最后有了[我]时才会发生。
if(photoList.length > 0){
for(i; i< photoList.length; i++){
prefsXML.appendChild(<P>{photoList[i]}</P>); //photoList is an array which contain names
}
}