xml如何存入ArrayList

sinat_15391595 2016-03-05 09:26:06
xml文件

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ROOT>
<table wave="1" enemyname="ground" level="1" wait="3"/>
<table wave="1" enemyname="ground" level="1" wait="3"/>
<table wave="2" enemyname="air" level="2" wait="4"/>
<table wave="2" enemyname="air" level="2" wait="4"/>
<table wave="3" enemyname="ground" level="1" wait="3"/>
<table wave="4" enemyname="air" level="2" wait="4"/>
</ROOT>


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
using System.Collections;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ArrayList m_enemylist = new ArrayList();

ReadXML(m_enemylist);

Read(m_enemylist);
}
// XML 数据
public class SpawnData
{
//波数
public int wave = 1;
public string enemyname = "";
public int level = 1;
public float wait = 1.0f;
}
void ReadXML(ArrayList m_enemylist)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("enemy.xml"));
XmlNode root = xmlDoc.DocumentElement;//读取XML的根节点
XmlNodeList items = root.ChildNodes;//获取节点列表

SpawnData data = new SpawnData();

//Response.Write("<pre>");

foreach (XmlNode item in items)
{
data.wave = int.Parse(item.Attributes["wave"].Value);
data.enemyname = item.Attributes["enemyname"].Value;
data.level = int.Parse(item.Attributes["level"].Value);
data.wait = float.Parse(item.Attributes["wait"].Value);

//Response.Write(data.wave + "\t" + data.enemyname + "\t" + data.level + "\t" + data.wait + "\n");

m_enemylist.Add(data);

}

//Response.Write("-----------------------");
//Response.Write("</pre>");
}

void Read(ArrayList m_enemylist)
{
Response.Write("<pre>");

for (int i = 0; i < m_enemylist.Count; i++)
{
SpawnData data = (SpawnData)m_enemylist[i];

Response.Write(data.wave + "\t" + data.enemyname + "\t" + data.level + "\t" + data.wait + "\n");

}

Response.Write("</pre>");
}
}

为什么每次存入ArrayList的都是最后一条数据呢?
...全文
226 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
new SpawnData() 语句要放到循环内。
sinat_15391595 2016-03-05
  • 打赏
  • 举报
回复
哪位大神看看问题出在哪里?

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧