• Linq to xml:流式处理 XmlReader


    IEnumerable<string> grandChildData =
                    from el in StreamRootChildDoc(new StringReader(markup))
                    where (int)el.Attribute("Key") > 1
                    select (string)el.Element("GrandChild");

                foreach (string str in grandChildData)
                {
                    Console.WriteLine(str);
                }

    处理函数

     static IEnumerable<XElement> StreamRootChildDoc(StringReader stringReader)
            {
                using (XmlReader reader = XmlReader.Create(stringReader))
                {
                    reader.MoveToContent();
                    // Parse the file and display each of the nodes.
                    while (reader.Read())
                    {
                        switch (reader.NodeType)
                        {
                            case XmlNodeType.Element:
                                if (reader.Name == "Child")
                                {
                                    XElement el = XElement.ReadFrom(reader) as XElement;
                                    if (el != null)
                                        yield return el;
                                }
                                break;
                        }
                    }
                }
            }

    关于作者: 王昕(QQ:475660) 在广州工作生活30余年。十多年开发经验,在Java、即时通讯、NoSQL、BPM、大数据等领域较有经验。
    目前维护的开源产品:https://gitee.com/475660
  • 相关阅读:
    [转] 蓝牙RSSI计算距离
    [转] 人工智能之机器学习路线图
    css3兼容在线处理
    a标签实现下载
    loading图标制作
    mongodb可视化工具
    title上面的图标怎么更改
    阿里云上传下载文件
    mongodb备份恢复
    RESTful
  • 原文地址:https://www.cnblogs.com/starcrm/p/1362827.html
Copyright © 2020-2023  润新知