到目前为止我有这个动作:
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest("nav.xml"));
function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
ParseBooks(xmlData);
}
function ParseBooks(bookInput:XML):void {
trace("XML Output");
trace("------------------------");
trace(bookInput);
trace(bookInput.project);
}
这会加载xml,将其分配给bookInput并跟踪它,但是当我尝试跟踪bookInput.project或bookInput.button或bookInput之外的任何内容时,没有返回任何数据,是否有人知道这是为什么?
XML;
<button label="test1">
<project path="http://www.google.com">
</project>
</button>
<button label="test2">
<project path="projects/drawing/DrawingApp.swf">
</project>
</button>
<button label="test3">
<project path="projects/text/DrawingApp.swf">
</project>
</button>
</buttons>
答案 0 :(得分:0)
<project path="projects/text/DrawingApp.swf">
</project>
与
相同<project path="projects/text/DrawingApp.swf" />
这是一个空节点......好吧。它的文本节点为空,没有节点值。在as3中,如果跟踪没有子节点的节点,则假定您需要XML而不是XMLList,因此它会跟踪节点值。尝试跟踪项目。@ path而不仅仅是项目。
bookInput.project不是正确的路径bookInput是按钮 bookInput.button是所有按钮节点的XMLList,依此类推。
所以如果你想到第一个节点,你可以尝试
bookInput.button[0].project.@path;
要么看一下必要的actionscript 3.0中的xml章节,要么就是你 可以轻松扫描this great article以开始使用。
抱歉,我正急着写这篇文章,希望我有道理。