/* 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