XML数据读取方式有哪些

  介绍

小编给大家分享一下XML数据读取方式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

测试开始先读取XML源,用一个比较大的rss文件链接,复制到项目bin/调试目录下。

流xmlStream=new MemoryStream (File.ReadAllBytes(路径));


一、XmlDocument方式

代码

1静态IList testXmlDocument ()   2){   3 var doc=new XmlDocument ();   4 doc.Load (xmlStream);   5 var=doc.DocumentElement.ChildNodes节点列表;   6 var lstChannel=new List(节点列表。数);   7 foreach (XmlNode节点节点列表)   8 {   9 var=新频道   10 {   11 Title=node.SelectSingleNode .InnerText (“title"),   12个链接=node.SelectSingleNode .InnerText (“link"),   13描述=node.SelectSingleNode .InnerText (“description"),   14内容=node.SelectSingleNode .InnerText (“content"),   15日发布日期=node.SelectSingleNode .InnerText (“pubDate"),   16作者=node.SelectSingleNode .InnerText (“author"),   17个类别=node.SelectSingleNode .InnerText (“category")   18个};   19 lstChannel.Add(渠道);   20}   21日返回lstChannel;   22}

二,XPathNavigator方式

代码

1静态IList testXmlNavigator ()   2){   3 var doc=new XmlDocument ();   4 doc.Load (xmlStream);   5 var nav=doc.CreateNavigator ();   6 nav.MoveToRoot ();   7 var=nav.Select节点列表(“/通道/item");   8 var lstChannel=new List (nodeList.Count);   9 foreach (XPathNavigator节点节点列表)   10 {   11 var=新频道   12 {   13 Title=node.SelectSingleNode (“title") value,   14个链接=node.SelectSingleNode (“link") value,   15=node.SelectSingleNode描述(“description") value,   16内容=node.SelectSingleNode (“content") value,   17日发布日期=node.SelectSingleNode (“pubDate") value,   18=node.SelectSingleNode作者(“author") value,   19=node.SelectSingleNode类别(“category") value   20};   21 lstChannel.Add(渠道);   22}   23日返回lstChannel;   24}

三,XmlTextReader方式

代码

1静态ListtestXmlReader ()   2){   3 var lstChannel=new List ();   4读者var=XmlReader.Create (xmlStream);   5时(reader.Read ())   6 {   7如果(读者。名字==癷tem",,读者。NodeType==XmlNodeType.Element)   8 {   9 var通道=new通道();   10 lstChannel.Add(渠道);   11时(reader.Read ())   12 {   13如果(读者。名字==癷tem")休息;   14如果(读者。NodeType !=XmlNodeType.Element)继续;   15开关(reader.Name)   16 {   17例“title":   18个频道。Title=reader.ReadString ();   19日休息;   20例“link":   21个通道。链接=reader.ReadString ();   22日休息;   23例“description":   24通道。描述=reader.ReadString ();   25日休息;   26例“content":   27个频道。内容=reader.ReadString ();   28日休息;   29例“pubDate":   30个频道。=reader.ReadString的作用是();   31日休息;   32例“author":   33频道。作者=reader.ReadString ();   34打破;   35例“category":   36个频道。类别=reader.ReadString ();   37打破;   38岁的默认值:   39打破;   40}   41}   42}   43}   44返回lstChannel;   45}

四,Linq to XML方式

代码

1静态IList testXmlLinq ()   2){   3 var xd=XDocument.Load (xmlStream);   从节点列表4 var=xd.Elements (“channel") .Descendants (“item")   5选择新的   6 {   7 Title=node.Element (“title") value,   8链接=node.Element (“link") value,   9=node.Element描述(“description") value,   10内容=node.Element (“content") value,   11日发布日期=node.Element (“pubDate") value,   12=node.Element作者(“author") value,   13=node.Element类别(“category") value   null   null   null   null   null   null

XML数据读取方式有哪些

Copyright © 2020-2023 feiqueyun.cn. All Rights Reserved. 肥雀云_南京肥雀信息技术有限公司版权所有 南京肥雀信息技术有限公司 苏ICP备16063723号-5