C# 一个较为复杂的XML 读取的问题 希望帮忙解决下

要实现的是把所有自动读取出来,结果是一年级有两个学生,分别是哪两个,分别年龄多少,二年级也是如此。<?xmlversion="1.0"encoding="utf-8"?>... 要实现的是把所有自动读取出来,结果是 一年级有两个学生,分别是哪两个,分别年龄多少,二年级也是如此。
<?xml version="1.0" encoding="utf-8" ?>
<myxml>
<classes name="一年级">
<person>
<name>张三</name>
<age>11</age>
</person>
<person>
<name>李四</name>
<age>12</age>
</person>
<classes>

<classes name="二年级">
<person>
<name>小李</name>
<age>12</age>
</person>
<person>
<name>小张</name>
<age>16</age>
</person>
<classes>
</myxml>
展开
 我来答
阳光的雷咩咩
推荐于2016-07-12 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7831万
展开全部
  1. 首先上面的xml有错误,比如classes的关闭节点缺少斜杠。要验证文件是否正确请保存为.xml文件看浏览器是否能正常打开。我修改过后可以,见图



  2. 我只给你写出一年级的代码,二年级的你自己仿照着可以做


            static void Main(string[] args)
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(@"D:\test.xml");
                XmlNodeList xnl = xmlDoc.SelectSingleNode("myxml/classes[@name='一年级']").ChildNodes;
                foreach (XmlNode xn in xnl)
                    foreach (XmlNode xnn in xn.ChildNodes)
                        Console.WriteLine(xnn.InnerText);
                Console.ReadLine();
            }

追问
没注意忘写斜杠了      感谢帮助   对了    XmlNodeList xnl = xmlDoc.SelectSingleNode("myxml/classes[@name='一年级']").ChildNodes; 这个name也要自动获取  我已经弄好了 谢了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式