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

  • 相关阅读:
    xdvipdfmx:fatal: Unable to open "xxx.pdf". Output file removed. fwrite: Broken pipe xelatex.exe
    安装Visual Studio 时窗口闪过就退出
    一些概念的收集
    如何让字符串中奇怪的空格现出原形
    mysql替换特殊字符
    asscii码对应表
    Linux下的tar压缩解压缩命令详解
    centos 6.8 /etc/sysconfig/下没有iptables的问题
    mysqldumpslow简单用法
    linux查询占用空间较大的文件
  • 原文地址:https://www.cnblogs.com/infozero/p/1776383.html
Copyright © 2011-2022 走看看