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> 展开
<?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> 展开
1个回答
展开全部
首先上面的xml有错误,比如classes的关闭节点缺少斜杠。要验证文件是否正确请保存为.xml文件看浏览器是否能正常打开。我修改过后可以,见图
我只给你写出一年级的代码,二年级的你自己仿照着可以做
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也要自动获取 我已经弄好了 谢了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询