0
59     for (i=0; i < count; i++) //count = number of children
60     {
61        if (localXML.children()[i].Name.toString != firstName ¬
          && localXML.children()[i].Surname.toString != surName ¬
          && localXML.children()[i].Company.toString != companyName)
62        {
63          tempXML.appendChild(localXML.children()[i]);
64        }
65        trace("tempXML: --> "+tempXML);
66        localXML = tempXML; <---- WRONG PLACE!!!
67     }

大家好。我在第 61 行收到错误 #1010。

我确实单独测试了每个值,并且每个人都被正常跟踪。错误是:

  • 类型错误:错误 #1010:在 ... frame9:61
  • 该脚本总是附加 localXML.children()[0] 而不是别的。

我在那里看不到任何错误。任何想法?

提前致谢。

解决了:

59     for (i=0; i < count; i++) //count = number of children
60     {
61        if (localXML.children()[i].Name != firstName ¬
      && localXML.children()[i].Surname != surName ¬
      && localXML.children()[i].Company != companyName)
62        {
63          tempXML.appendChild(localXML.children()[i]);
64        }
65     }
66        trace("tempXML: --> "+tempXML);
67        localXML = tempXML;  <---- MOVED HERE!!!

我在每个循环中都更新了 localXML !!!耻辱!!!

4

1 回答 1

1

检查 XML。要么localXML.children()[i]为空,要么Name不作为对象上的子节点存在。

还要记住,如果Name是 XML 中的一个属性,那么您需要以不同的方式访问它。

如果名称设置如下:

<node>
    <Name>Stuff</Name>
</node>

然后,您可以像以前那样访问它。但如果它是这样的属性:

<node Name="stuff"></node>

然后你需要像这样访问它:

localXML.children()[i].@Name

另一个可能的问题是children()通话。我以前从未使用过它,所以我不知道它的具体表现如何。如果上述问题没有解决它,请尝试重写解析器以跳过children()调用并像通常使用嵌套循环一样解析它。

最后,虽然错误 #1010 意味着一个术语未定义且不存在,所以您只需要弄清楚它为什么不存在。

于 2013-08-28T18:49:48.990 回答