我有删除特定节点的代码:
var db: XML = <db>
<entry>
<Name>JAMES</Name>
<Surname>MAILER</Surname>
<Date>28/08/2013</Date>
</entry>
<entry>
<Name>NATA</Name>
<Surname>KING</Surname>
<Date>28/08/2013</Date>
</entry>
<entry>
<Name>ROMAN</Name>
<Surname>ALDA</Surname>
<Date>28/08/2013</Date>
</entry>
<entry>...</entry>
</db>
clean();
function clean():void
{
var tempXML:XML = <db></db>;
var count:int = db.children().length();
trace (count);
for (i=0; i < count; i++)
{
if (db.children()[i].Name == "JAMES" && db.children()[i].Surname == "MAILER")
{
//do nothing
}else{
tempXML.appendChild(db.children()[i]);
}
}
db = tempXML;
}
如您所见,我正在使用 else 添加与条件语句不匹配的节点。
如果我使用:
if (db.children()[i].Name == "JAMES" && db.children()[i].Surname == "MAILER")
我可以避免使用“else”,但代码会删除所有以 JAMES 或 MEX 作为值的节点。
“什么都不做”脚本可以完成这项工作,但它很丑陋。
有没有更好的方法使用循环和简单的比较?
谢谢,
和欢呼。