2010-12-21 36 views
0

我想解析出nodeName但没有什么是返回,我的脚本有什么问题?解析从XML的XML字符串的动作3

import flash.xml.XMLDocument; 
import flash.xml.XMLNode; 
import flash.xml.XMLNodeType; 

var MaintainXML:XML = 
<letter><to>senocular</to><body>Get a life</body></letter>; 

trace("status"+MaintainXML.status); // traces "0" (No error) 
trace("nodeName" + MaintainXML.firstChild.nodeName); // traces "letter" 
trace("nodeName" + MaintainXML.firstChild.firstChild.nodeName); // traces "to" 
trace("nodeValue"+MaintainXML.firstChild.firstChild.firstChild.nodeValue); // traces 
+0

如何接受的答案。我没有点击向上箭头。还有其他地方吗?大声笑不要接受。我现在明白了。复选标记 – NanoHead 2010-12-21 19:40:45

回答

1

你试图使用你的XML的方法或属性是不存在的:既不是status,也不firstChild,也不nodeName可用于XML Object。 Flash会将这些调用解释为搜索查询,因此它会查找名为“status”的子节点, “firstChild”如

<root> 
    <status /> 
    <firstChild /> 
</root> 

并返回一个空的XMLList,因为当然它找不到这样的节点。

此外,您的MaintainXMLs根节点为<letter>,所以第一个孩子将是<to>

试试这个:

var MaintainXML : XML = <letter><to>senocular</to><body>Get a life</body></letter>; 

trace("nodeName:" + MaintainXML.to.name()); // traces "to" 
trace("nodeValue:" + MaintainXML.to.toString()); // traces "senocular"