/* I start with this: */
<Report>
<prop1>4</prop1>
<prop2>2255</prop2>
<prop3>true</prop3>
<prop4>false</prop4>
<prop5>true</prop5>
</Report>
/* I want this result (change the value of node "prop5"): */
<Report>
<prop1>4</prop1>
<prop2>2255</prop2>
<prop3>true</prop3>
<prop4>false</prop4>
<prop5>false</prop5>
</Report>
/* I tried this: */
var reportXML:XML =
<Report>
<prop1>4</prop1>
<prop2>2255</prop2>
<prop3>true</prop3>
<prop4>false</prop4>
<prop5>true</prop5>
</Report>;
var myArray:Array = [{xmlNodeName: "prop5", value: false}];
for each (var item:Object in myArray)
{
report.xml[item.xmlNodeName] = item.value.toString();
}
/* But this just adds a new node, resulting in this: */
<Report>
<prop1>4</prop1>
<prop2>2255</prop2>
<prop3>true</prop3>
<prop4>false</prop4>
<prop5>true</prop5>
<prop5>false</prop5>
</Report>;
回答
這似乎是在做你想要什麼。這只是你的代碼,修正了一些錯別字。
var reportXML:XML =
<Report>
<prop1>4</prop1>
<prop2>2255</prop2>
<prop3>true</prop3>
<prop4>false</prop4>
<prop5>true</prop5>
</Report>;
var myArray:Array = [{xmlNodeName: "prop5", value: false}];
for each (var item:Object in myArray)
{
reportXML[item.xmlNodeName] = item.value.toString();
}
trace(reportXML);
使用ActionScript 3 E4X語法我想這將是這樣的:
report.prop5[0] = false;
這也沒有工作。這創建了一個具有不同名稱空間的新節點(名稱空間基於我所在類的名稱)。 – 2008-11-17 16:48:38
我只是驗證了這個工程:
private var reportXML:XML =
<Report>
<prop1>4</prop1>
<prop2>2255</prop2>
<prop3>true</prop3>
<prop4>false</prop4>
<prop5>true</prop5>
</Report>;
private function changeXML():void {
reportXML.prop5[0] = 'false';
trace(reportXML.prop5); // traces 'false'
}
這仍然不能回答我的原始問題。看看我的原始示例 - 我希望這是動態的。我有一個對象數組,指定要更新的節點。發佈這篇文章的目的是爲了找到一種不必將「prop5」硬編碼到我的應用程序中的方法。 – 2008-11-18 16:48:51
如果你只有你可以去這樣
var node:XML
inp = new textfield(style, node.text());
inp.addEventListener(TextEvent.TEXT_INPUT, change, false, 0, true);
addChild(inp);
private function change(e:TextEvent):void
{
XML(node.parent())[node.name()][node.childIndex()] = inp.text+e.text;
}
的對象被創建後,我已經無法爲XML對象中編輯元素和Adobe的文檔」不是個節點如果這是可能的話,則清除。
對於動態設置值,我創建了一個臨時字符串,並在此處添加了所有XML節點和屬性。 然後,您可以簡單地創建指定您的臨時字符串作爲唯一參數的xml對象。
喜歡的東西:
var tempString:String = "<XML_PARENT><SOME_SUB_NODE>";
tempString += "<SOMETHING_ELSE value=\"" + someTextField.text + "\"/>";
tempString += "</SOME_SUB_NODE></XML_PARENT>";
var xmlObj:XML = new XML(tempString);
現在,如果你追蹤xmlObj,你會得到
<XML_PARENT>
<SOME_SUB_NODE>
<SOMETHING_ELSE value=""/>
</SOME_SUB_NODE>
<XML_PARENT>
這將讓你動態分配任何你想要的字符串,然後建立後的XML事實。如果您想要編輯現有的XML對象,那麼它並不完全有用,但是您可以只使用toString()並相應地修改該字符串。 它至少可以幫助開始動態構建XML文件!
- 1. 如何編輯xml節點值
- 2. 如何編輯節點的父動態
- 3. 如何編寫動態XML節點
- 4. 編輯Xml節點
- 5. 如何閱讀和編輯XML節點
- 6. PHP XML編輯CDATA節點
- 7. 在actionScript 3.0中管理xml節點
- 8. 如何在SWT中編輯樹節點
- 9. 編輯節點中的xml屬性
- 10. 如何動態更改xml節點?
- 11. XML檢查節點Actionscript 3
- 12. 如何編輯節點圖?
- 13. 動態訪問XML子節點E4X ActionScript 3
- 14. 動態編輯值
- 15. FOR XML PATH - 動態節點?
- 16. 動態創建XML節點
- 17. 如何在bluemix節點紅色編輯器中編輯節點紅色靜態內容?
- 18. 如何根據其他節點的值動態添加新的XML節點?
- 19. 如何編輯android中的單個xml節點
- 20. 如何編輯文件對象中的XML節點,使用Java
- 21. 如何添加,編輯,刪除和保存XML節點在AS3
- 22. 如何在eclipse rcp中編輯workbench.xml的特定節點的值
- 23. Actionscript 3中的XML節點替換
- 24. ActionScript 3.0中添加節點XML
- 25. 如何動態讀取xml節點的值?
- 26. 用PHP編輯和刪除XML節點
- 27. 編輯XML節點採用的SimpleXML PHP
- 28. XML節點編輯基於一個XMLELEMENT
- 29. 在AS3中,XML節點值如何用作另一個節點?
- 30. 如何在Flex中動態添加屬性到xml節點?
我會給你這個榮譽....我現在正在工作。無論是僞代碼還是真實代碼。謝謝。 – 2008-12-03 21:30:16