Xml快速读取方式

读写xml的选择顺序比较:XmlDocument、XDocument会将xml全部加载到内存,造成内存浪费,不适合大数据xml处理。

XmlReader(以及子类XmlTextReader) 则适合快速的读取,它是只读的,并且只向前读取。其读取的性能比Xml-Linq快;

Xml-Linq 则是.net3.5推出的比较方便快速处理XML数据的一种方式;

1.用XmlRead来快速的读取xml文件并获取其中特定节点的值。

List<string> book=new List<string>();
using (XmlReader read = XmlReader.Create(filePath))
{
read.MoveToContent();
while (read.Read())
{
if (read.NodeType == XmlNodeType.Element)
if (read.Name == "bookstore")
{
list.Add( Boolean.Parse(read.ReadInnerXml()));
}
read.Close();
}

2. xml-Path

        XmlDocument xml =new XmlDocument ();
        xml.Load(path);
        XmlNodeList nodelist = xml.SelectNodes("//book");
        foreach (XmlNode item in nodelist)
        {
            Response.Write(item.InnerText);
        }

 

3.xml-Linq 读写xml   

        if (File.Exists(path))
        {
            XDocument xd = XDocument.Load(path);
            var list = from node in xd.Elements("bookstore")
                       select new
                       {
                           books = node.Elements("books"),
                           bookshop=node.Element("bookshop")
                       };
            foreach (var item in list)
            {
                Response.Write(item.bookshop.Value + "</br>");
                foreach (XElement book in item.books)
                {
                    Response.Write(book.Value+"</br>");
                }
            }
        }

 

转载于:https://www.cnblogs.com/qlbk/archive/2013/04/15/3022401.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值