详解C#借助.NET框架中的XmlTextReader类读取XML的方法
XmlTextReader 提供对 XML 数据流的只进只读访问。当前节点指读取器定位到的节点。使用任何读方法推进读取器并且属性反映当前节点的值。
因为 XmlTextReader 不执行数据验证所需的额外检查,所以它提供快速格式正确性分析器。 若要执行数据验证,请使用验证 XmlReader。有关更多信息,请参见 使用 XmlReader 验证 XML 数据。
示例: static void Main(string[] args) { XmlTextReader reader; if (File.Exists("student.xml"))//如果文件已存在,载入文档 { reader = new XmlTextReader("student.xml"); } else//否则 { return; } int count = 0; while (reader.Read())//阅读下一个 { if (reader.Name == "student") { //显示读取的属性和中间文本 Console.WriteLine(reader.GetAttribute("id") + " " + reader.GetAttribute("age") + " " + reader.ReadString()); count++; } } reader.Close();//关闭阅读器 Console.WriteLine("Count is " + count); Console.ReadKey(); } static void Main(string[] args) { XmlDocument doc = new XmlDocument(); if (File.Exists("student.xml"))//如果文件已存在,载入文档 { doc.Load("student.xml"); } else//否则 { Console.WriteLine("文档不存在!"); Console.ReadKey(); return; } XmlNodeList list = doc.DocumentElement.SelectNodes("student");//读取根节点的所有子节点,放到XmlNodeList中 foreach (XmlNode node in list)//从list中遍历所有节点 { XmlElement ele = (XmlElement)node;//节点可以有中间文本但是没有属性值,所以要先转成element才能读出属性值 Console.WriteLine(ele.GetAttribute("id") + " " + ele.GetAttribute("age") + " " + ele.InnerText);//读取数据/显示 } Console.ReadKey(); } 执行效果完全一样 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |