如何遍历XML中的某一个节点?

snipes 2013-10-19 07:55:34
<?xml version="1.0"?>
<users>
<user>
<name>Ironman</name>
<age>28</age>
<sex>Male</sex>
</user>
<user>
<name>Superman</name>
<age>25</age>
<sex>Male</sex>
</user>
<user>
<name>Spiderman</name>
<age>23</age>
<sex>Male</sex>
</user>
</users>

XML格式如上所示,比方说name里面是已经注册过的用户名,现在新注册的时候如何遍历<name>节点,判断新注册的用户名是否可用?

不是想做伸手党,查了资料,自己也试了,只能找到第一个<name>节点。
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("Users_Info.xml");
XmlNode node = xmlDoc.SelectSingleNode("//user[name='admin']");
...全文
158 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
emailtome 2013-10-19
  • 打赏
  • 举报
回复
m$没有xquery要求不高可以使用 http://xpath2.codeplex.com/
全栈极简 2013-10-19
  • 打赏
  • 举报
回复
 class Program
    {
        static void Main(string[] args)
        {
            List<User> list = new List<User>();

            XmlDocument xmlDocument = new XmlDocument();
            xmlDocument.Load("test.xml");

            foreach (XmlNode node in xmlDocument.SelectNodes("users/user"))
            {
                User user = new User();

                user.Name = node.SelectSingleNode("name").InnerText;
                user.Age = Convert.ToInt32(node.SelectSingleNode("age").InnerText);
                user.Sex = node.SelectSingleNode("sex").InnerText;
                list.Add(user);
            }

            list.ForEach(x => Console.WriteLine(x.Age));//获得age
        }
    }

    public class User
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public string Sex { get; set; }
    }
Andy__Huang 2013-10-19
  • 打赏
  • 举报
回复
http://blog.csdn.net/hdhai9451/article/details/12170069

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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