zoukankan      html  css  js  c++  java
  • Linq to XML 读取XML 备忘笔记

    最近一个项目中有要用到 xml 读取,我首先想到的是使用 Linq 读取(XML 解析感觉有点麻烦),项目完成,现抽取其内容,作如下笔记备忘.

    1. demo.xml

    demo.xml
    <?xml version="1.0" encoding="utf-8" ?>
    <note>
      
    <conf>
        
    <to>infozero</to>
        
    <from>lerroy</from>
        
    <heading>测试信息</heading>
        
    <body>第一条测试信息</body>
        
    <title name="我的第一条消息">from myself</title>
      
    </conf>
      
    <conf>
        
    <to>infozero@163.com</to>
        
    <from>text</from>
        
    <heading> 时刻提醒我 </heading>
        
    <body>这是一条测试信息!</body>
        
    <title name="我的第二条消息">from others</title>
      
    </conf>
    </note>

    2.在 程序中引用以下命名空间:

    using System;
    using System.Linq;
    using System.Xml.Linq;

    3.读取方法如下:


    main 函数入口
        class Program
        {
            
    static void Main(string[] args)
            {
                XDocument doc 
    = XDocument.Load("demo.xml");
                var text 
    = from t in doc.Descendants("conf")                    //定位到节点 
                           .Where(w => w.Element("to").Value.Contains('@'))   //若要筛选就用上这个语句 
                           select new
                           {
                               to 
    = t.Element("to").Value,
                               froms 
    = t.Element("from").Value,
                               head 
    = t.Element("heading").Value,
                               body 
    = t.Element("body").Value,
                               title 
    = t.Element("title").Attribute("name").Value   //注意此处用到 attribute 
                           };
                
    foreach (var a in text)
                {
                    Console.WriteLine(a.to);
                    Console.WriteLine(a.froms);
                    Console.WriteLine(a.head);
                    Console.WriteLine(a.body);
                    Console.WriteLine(a.title);
                }
                Console.ReadKey();
            }
        }


    结果:

     

    小结: Linq to Xml 确实是个好东西 ,它极大地方便了我们的编程。

    ---------- 后续补充:-----

    另外一种 XML 格式 的解析参见:  http://www.cnblogs.com/portalsky/archive/2008/09/11/1289461.html 
    XML 增删改查: http://www.cnblogs.com/greatverve/archive/2010/07/13/linq-to-xml-one-begin.html

  • 相关阅读:
    package相关知识
    【算法设计与分析】5个数7次比较排序的算法
    Android下的应用编程——用HTTP协议实现文件上传功能
    5个数通过7次比较排序的方法
    数据库范式(1NF、2NF、3NF、BCNF)
    HttpDownloader2011年09月20日 写好用于下载的类 并且封装好
    POJ 1692 DP
    POJ 1682 多重DP
    TYVJ 1744 逆序对数(加强版)
    POJ 2151 概率DP
  • 原文地址:https://www.cnblogs.com/infozero/p/1776383.html
Copyright © 2011-2022 走看看