我使用本地xml文件。当我在Web浏览器中删除项目时,它将被删除但xml文件不会更改。为什么这附加? 这是我的xml文件;
<?xml version="1.0" encoding="utf-8" ?>
<products>
<product>
<productId>1</productId>
<categoryId>1</categoryId>
<name>Azalea</name>
<nickname>California Snow</nickname>
<instructions>Large double.</instructions>
<catalogNumber>S1</catalogNumber>
<price>15.99</price>
<photo>california_snow.jpg</photo>
</product>
<product>
<productId>2</productId>
<categoryId>1</categoryId>
<name>Tibouchina Semidecandra</name>
<instructions>Beautiful large royal.</instructions>
<catalogNumber>S2</catalogNumber>
<price>33.99</price>
<photo>princess_flower.jpg</photo>
</product>
...
我在下面写下这些代码。同时如何添加和更改它? 已经非常感谢你了
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
skinClass="skins.HPAppSkin">
<fx:Script>
<![CDATA[
protected function button1_clickHandler(event:MouseEvent):void
{
productCollection.removeItemAt(productGrid.selectedIndex);
}
]]>
</fx:Script>
<fx:Declarations>
<fx:Model id="productModel" source="data/products.xml"/>
<s:ArrayList id="productCollection"
source="{productModel.product}"/>
</fx:Declarations>
<mx:DataGrid id="productGrid" dataProvider="{productCollection}"/>
<s:Button label="Remove Item" click="button1_clickHandler(event)"
enabled="{productGrid.selectedIndex != -1}"/>
</s:Application>
答案 0 :(得分:0)
removeItem仅从dataProvider中删除该项 - 而不是从加载它的XML中删除该项。手动删除项目后,需要相应地更新/重写XML。
答案 1 :(得分:0)
从你的xml ......我认为ProductId是独一无二的...... 您可以在数组中添加您的ProductId ... 像这样:
public var removedItemArray:Array = new Array();
protected function button1_clickHandler(event:MouseEvent):void
{
productCollection.removeItemAt(productGrid.selectedIndex);
removedItemArray.push(event.currentTarget.selectedItem.productId);
}
然后通过删除removedItemArray中的ProductIds,将removedItemArray数据发送到您构建Xml并重新构建Xml的位置。
我希望这可能会杀死你的Prob兄弟!