首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Flash >

flash+xml 无法同时显示名称相同的记录解决办法

2013-01-26 
flash+xml 无法同时显示名称相同的记录当输入查询红旗小学的时候,只显示第一条记录,如果把“break”去掉,

flash+xml 无法同时显示名称相同的记录
当输入查询"红旗小学"的时候,只显示第一条记录,如果把“break;”去掉,就只显示第二条记录!
求助,如何同时显示两条记录

-----------------btn_search

on (release) { //当鼠标释放时
XMLData(); //调用“查询”函数


-----------------------XMLData();
function XMLData() {
//定义查询XMLData()函数 
var input = SearchFrame.text;
//输入的地名名称 
if (input == "") {
SearchFrame.text = "请输入地名";
}
//如果地名名称为空,重新要求输入地名     
if (input != "请输入地名") {
//如果正确输入地名
var childItems:Array = XMLData_xml.firstChild.childNodes;
for (var i = 0; i<childItems.length; i++) {
var Cn = childItems[i].childNodes[0].childNodes[0].nodeValue;
//读入xml文件中的地名
if (Cn == input) {
//如果输入与xml地名相符 
var Cx = childItems[i].childNodes[1].childNodes[0].nodeValue;
//读入xml文件中的x坐标 
var Cy = childItems[i].childNodes[2].childNodes[0].nodeValue;
//读入xml文件中的y坐标 
//----在查询到的点上显示信息----
_root.createTextField("PointName", 800, Cx, Cy, 200, 30);
//在对应点坐标处标注地名
PointName.text = Cn;
PointName.selectable = false;
//文本不可选
PointName.setTextFormat(FontStyle_ser);
//定义显示文本格式
SearchFrame.text = "已查询到信息";
break;
//查询成功后跳出
} else {
SearchFrame.text = "未找到,请重新指定搜索信息";
}
}
}
}

----------------XMLData.xml

 <?xml version="1.0" encoding="utf-8" ?> 
  <!-- 请严格按照此例格式进行编写,保存时一定要采用utf-8编码-->
<data>
<r>
<n>红旗小学</n>
<x>6</x>
<y>7</y>
<inf>红旗小学1<inf>
</r>
<r>
<n>红旗小学</n>
<x>8</x>
<y>9</y>
<inf>红旗小学2</inf>
</r>
</data>
[解决办法]
 你的结果即使正确,也只有一个结果, 把你的数据遍历,结果装入数组,然后把数组内的结果循环输入即可

热点排行