2009-04-28 48 views

回答

0

您可以使用FileReference.save()方法将XML数据保存到本地文件。它会提示用户输入一个位置来保存文件,然后保存数据。

下面是一个例子:

var xml:XML = <root><someXmlTag/></root>; 
var fileReference:FileReference = new FileReference() 
fileReference.save(xml, "myfile.xml"); 
0

据我知道,软硬无法写入文件!

我使用HTTPService来加载XML文件和结果甚至处理程序来访问它。

<mx:HTTPService id="service" url="myXml.xml" result="ServiceResult (event)"/> 

不要在HTTPService标记中指定结果格式。 这是结果事件处理程序的代码。

private function ServiceResult (e : ResultEvent) : void { 
    e.result.XmlTag.AnotherXmlTag; 
} 

您还可以使用service.lastResult来访问由HTTPService返回的最后结果。结果与dataProvider属性完全兼容,特别是在数组和图表系列中。

var series : LineSeries = new LineSeries(); 
series.dataProvider = e.result.XmlTag.AnotherXmlTag; 

这将采用XmlTag中所有AnotherXmlTag标记中的值。对于系列,不过,你也应该指定一个yField或与xField,但它离题了:-)

如果它不工作,你也可以投用为关键字,例如它:

series.dataProvider = e.result.XmlTag as ArrayCollection; 

在这种情况下,我实际上并没有尝试投射它,但底线是XML标签与阵列和ArrayCollections兼容。

就你而言,你只需使用e.result来获取完整的XML文件,将其分配给一个变量,然后使用Ben的方法编写它。您也可以使用上面解释的方法从各个值创建一个数组,并在需要时手动插入标签等。这样做的好处是,您可以在数组中准备好所有的值,以后再需要它们。如果你循环遍历索引,这将不需要很多工作,而且这将是我做这件事的方式。

希望这会有所帮助!

相关问题