我正在从AS2迁移到AS3,并且在从XML获取节点时遇到了麻烦。我能够在AS3中获取(并跟踪)整个XML文件,但希望能够使用firstChild将第一个标记存储为节点,并使用nextSibling遍历标记。但是在AS3中,当我之前的AS2代码实际抓取内容时,firstChild一直空着。我究竟做错了什么? (我无法通过名称调用标签,因为我重复使用多个xml文件的代码块)
var eRoot = exampleXML.firstChild;
while (eRoot != null) {
//do stuff
eRoot= eRoot.nextSibling;
}
我的测试XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<content>
<version>cd</version>
<lessonlock>~-*~-*</lessonlock>
<expiryDate>**#*#**##**##**##*##********###*</expiryDate>
<isSpanish>true</isSpanish>
<server>http://www.exampleSite.com</server>
</content>
答案 0 :(得分:2)
那是因为firstChild
和nextSibling
都不作为AS3 XML对象的属性存在。您正在搜索节点<firstChild>
和<nextSibling>
。
您应该阅读API for XML,更好的是Adobe's guide to E4X。