-2

我需要从一个文件中读取 xml 标签及其数据,然后将其写入另一个 xml..怎么做?请立即告诉我...?

4

3 回答 3

1

请参阅http://livedocs.adobe.com/flex/2/langref/XML.html。我很难相信你在问之前用谷歌搜索过这个。

于 2009-04-28T09:21:33.190 回答
0

您可以使用 FileReference.save() 方法将 XML 数据保存到本地文件。它将提示用户首先保存文件的位置,然后再保存数据。

这是一个例子:

var xml:XML = <root><someXmlTag/></root>;
var fileReference:FileReference = new FileReference()
fileReference.save(xml, "myfile.xml");
于 2009-04-28T22:04:53.463 回答
0

据我所知,Flex 无法写入文件!

我使用 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,但它离题了 :-)

如果它不起作用,您也可以使用 as 关键字进行转换,例如:

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

我实际上并没有尝试在这种情况下强制转换它,但最重要的是 XML 标记与数组和 ArrayCollections 兼容。

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

希望这可以帮助!

于 2009-05-02T00:33:24.237 回答