2013-08-28 103 views
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錯誤。Flash/AS3:錯誤#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!恥辱!!!

回答

1

檢查XML。 localXML.children()[i]爲空或Name不作爲對象上的子節點存在。

還要記住,如果Name是XML中的一個屬性,那麼您需要以不同的方式訪問它。

如果名稱是設置這樣的:

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

那麼你訪問它,你已經這樣做了。但是,如果它是一個屬性,就像這樣:

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

然後,你需要訪問它是這樣的:

localXML.children()[i][email protected] 

另一個可能的問題是children()電話。我以前從未使用過它,所以我不知道它是如何表現的。如果上述問題沒有解決它,請嘗試重寫解析器以跳過children()調用,然後像通常使用嵌套循環一樣解析它。

最後,儘管錯誤#1010意味着一個術語是未定義的並且不存在,所以您只需要弄清楚爲什麼它不存在。

+0

非常感謝喬希。我確實在for語句中放置了主XML(localXML = tempXML)的更新,並生成錯誤。我正確地調用節點。 (在這種情況下,我沒有使用屬性) – Sergio

相關問題