foreach (XElement element in enumerable)
{
userId = element.Element("userId").Value;
username = element.Element("username").Value;
}
这样就可以循环读取的,你这里的 userId和username都是一样的,循环就被覆盖了,估计是覆盖了,不是不能循环
{
userId = element.Element("userId").Value;
username = element.Element("username").Value;
}
这样就可以循环读取的,你这里的 userId和username都是一样的,循环就被覆盖了,估计是覆盖了,不是不能循环
{
public static List<UserInfo> UserList=new List<UserInfo>(); //这个就是你要的了,得是一个集合
public GetWebformXml()
{
IEnumerable<XElement> enumerable = XElement.Load("xml/userinfo.xml").Elements("item");
foreach (XElement element in enumerable)
{
string userId = element.Element("userId").Value;
string username = element.Element("username").Value;
UserList.Add(new UserInfo(){Userid=userid,UserName=username});
}
} //程序运行的时候默认只读取第一条,如何循环读取呢?
} //创建用户对像
public class UserInfo
{
private string userId = "";
private string userName = "";
public string Userid
{
get
{
return userId;
}
set
{
userId = value;
}
}
public string UserName
{
get
{
return userName;
}
set
{
userName = value;
}
}
}
<channel>
<item>
<userId>8</userId>
<username>飞虎</username>
</item>
<item>
<userId>9</userId>
<username>面容</username>
</item>
<item>
<userId>10</userId>
<username>丢丢虫</username>
</item>
</channel>
这是一个类,我需要在其他窗口调用不就是userId,userName这两个值么?UserList.userId和UserList.userName。
GetWebformXml gw = new GetWebformXml();
后只能获取得到最后一个值啊。
{
public class GetWebformXml
{
public List<UserInfo> UserList = new List<UserInfo>(); //这个就是你要的了,得是一个集合 public GetWebformXml()
{
IEnumerable<XElement> enumerable = XElement.Load("xml/userinfo.xml").Elements("item");
foreach (XElement element in enumerable)
{
string userId = element.Element("userId").Value;
string userName = element.Element("username").Value;
UserList.Add(new UserInfo() { Userid = userId, UserName = userName });
}
}
} //创建用户对像
public class UserInfo
{
private string userId = "";
private string userName = "";
public string Userid
{
get
{
return userId;
}
set
{
userId = value;
}
} public string UserName
{
get
{
return userName;
}
set
{
userName = value;
}
}
}
}
调用页面:
private void GetWebform_Load(object sender, EventArgs e)
{
GetWebformXml userC = new GetWebformXml(); List<UserInfo> uList = userC.UserList; StringBuilder sMsg = new StringBuilder(); foreach (UserInfo u in uList)
{
sMsg.AppendLine(string.Format("用户ID:{0},用户名:{1}", u.Userid, u.UserName));
} MessageBox.Show(sMsg.ToString());
}