linq to xml

 

一      private static string name, num;

        public static string Num
        {
            get { return SysConfig.num; }
            set { SysConfig.num = value; }
        }

        public static string Name
        {
            get { return SysConfig.name; }
            set { SysConfig.name = value; }
        }        
        public static void CreateXML(string filepath)                
        {
           StudentDataContext studc = new StudentDataContext();
           var stu = from s in studc.Student
                      select s;

            XElement stuxml = new XElement("Students");
            foreach (Student s in stu)
            {
                stuxml.Add(new XElement("student",
                           new XAttribute("Name", s.StuName),
                           new XElement("Number", s.StuNum)));
            }
            stuxml.Save(filepath);
        }
      
       
        public static  XDocument doc;

        public static void ReadDefaultValue(string filepath) 
        {
            // 有很多student标签,默认为第一个
            try
            {
                doc = XDocument.Load(filepath);
                num = doc.Element("Students").Element("student").Value;
                name = doc.Element("Students").Element("student").Attribute("Name").Value;
            }
            catch
            {
                // 如果try里有错,也不影响运行
                num = "100000";
                name = "xy";
            }
        }

        public static IEnumerable<XElement> Find(string filepath)
        {
             doc = XDocument.Load(filepath);
             var result = from r in doc.Element("Students").Elements("student")
                          where (string)r.Attribute("Name").Value == "xy"
                          select r;
            return result;
        }

        public static void Remove(string filepath)
        {
            doc = XDocument.Load(filepath);
            doc.Element("Students").Elements("student").Where(ss => ss.Attribute

           ("Name").Value.ToString() == "xy").Remove();
            doc.Save(filepath);
        }

        public static void Add(string filepath)
        {
            doc = XDocument.Load(filepath);
            doc.Element("Students").Add(new XElement("student",
                                        new XAttribute("Name", "小明"),
                                        new XElement("Number", "111")));
            doc.Save(filepath);
        }

        public static void SetValue(string filepath)
        {
            doc = XDocument.Load(filepath);
            doc.Element("Students").Elements("student").Where(ee => (string)ee.Attribute("Name")

             == "xy").FirstOrDefault().SetAttributeValue("Name", "xy");
            doc.Element("Students").Elements("student").Where(ee => (string)ee.Attribute("Name")

            == "xy").FirstOrDefault().SetElementValue("Number", "100000");
            doc.Save(filepath);
         }
    }

 

 

二.

public static class BlackWhite
    {
        //private static string FindConfigFile(string fileName)
        //{
        //    //return HttpContext.Current.Server.MapPath(string.Format("~/Config/{0}",

              fileName));  // 找到XML文件路径
        //}

        private static IEnumerable<string> Black;
       
        public static IEnumerable<string> Black1
        {
            get { return BlackWhite.Black; }
            set { BlackWhite.Black = value; }
        }

        private static IEnumerable<string> White;
       
        public static IEnumerable<string> White1
        {
          get { return BlackWhite.White; }
          set { BlackWhite.White = value; }
        }

        public static void UseXml()
        {
            //XDocument doc = XDocument.Load(FindConfigFile("BlackWhite.xml"));
            string str = System.Environment.CurrentDirectory;
            XDocument doc = XDocument.Load(string.Format(@"{0}\BlackWhite.xml", str));
            Black = doc.Element("List").Element("Black").Elements("Name").Select(element =>

                    element.Value);
            White = doc.Element("List").Element("White").Elements("Name").Select(element =>

                    element.Value);
            Process[] processes = Process.GetProcesses();
            foreach (Process p in processes)
            {
                if (Black.Contains(p.ProcessName))
                {
                    p.Kill();
                    MessageBox.Show("上课请不要打开无关程序");
                   
                }
            }
         
        }
    }
}

<?xml version="1.0" encoding="utf-8" ?>
<List>
  <Black>
   <Name>QQ</Name>
   <Name>AliIm</Name>
  </Black>
   <White>
     <Name>SeverUDP</Name>
     <Name>ClientUDP</Name>
   </White>
</List>

时间: 2024-11-27 22:30:18

linq to xml的相关文章

使用LINQ to XML来读取XML文档

用于XML的语言级集成查询(LINQ to XML)允许使用标准查询操作符就像树形操作符一样来查询XML数据,它能够提供类似XPath的导航在后代.祖先和兄弟的XML元素中导航.它简化了对XML数据的使用,不必使用额外的语言语法像XPath或XQuery.你可以使用LINQ to XML对你从文件系统.从一个远程web service或从一个内存中的XML内容中获得的XML执行LINQ查询.这篇文章将只关注于使用LINQ从一个XML文件--Customers.xml文件查询XML. 创建一个简单

Linq To XML学习

这几天抽空看了看C# 3.0的一些新特性,匿名对象.Lambda表达式.Linq等 ,给我很大的冲击.简洁化.人性化.更加可读易理解的代码,让C# 3.0增色不 少.以前我总认为C#语言就是follow Java语言,现在看来微软就是强大,在流 行的基础上创出了自己的个性,漂亮简洁高效的编程语言让人不得不倾心. 因为以前的项目用到Xml操作比较多,我着重看了看Linq To Xml,用 msdn上的话来说,Linq To Xml是LINQ项目的一个组件,它是一种现代化的.在 内存中的XML编程A

Linq To Xml学习 - 3.查询、更新、删除

Linq To Xml学习 - 3.查询.更新.删除 文章最后有该示例的XML文档. 查找具有特定属性的元素 XElement root = XElement.Load ("PurchaseOrder.xml"); IEnumerable address = from el in root.Elements("Address") where (string)el.Attribute("Type") == "Billing" s

Linq To Xml学习 - 2.LINQ to XML编程概述

LINQ to XML 类概述 XAttribute 类 XAttribute 表示一个 XML 属性. XCData 类 XCData 表示一个 CDATA 文本节点. XComment 类 XComment 表示一个 XML 注释. XContainer 类 XContainer 是适用于可能具有子节点的所有节点的抽 象基类.下面的类派生自 XContainer 类: XElement XDocument XDeclaration 类 XDeclaration 表示一个 XML 声明.XML

Linq To Xml学习 - 1.LINQ to XML 概述

LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML. 它将 XML 文档置于内存中,这一点很像文档对象模型 (DOM). 您可以查询 和修改 XML 文档,修改之后,可以将其另存为文件,也可以将其序列化然后通 过网络发送. 但是,LINQ to XML 与 DOM 不同: 它提供一种新的对象模型, 这是一种更轻量的模型,使用也更方便,这种模型利用了 Visual C# 2008 在语 言方面的改进. LI

使用linq to xml快速创建自己的Rss

首先引用网络上不知道是谁的一段文字来讲述下什么是linq to xml 如果已 经熟悉的就直接跳过这段: LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML. 它将 XML 文档置于内存中,这一点很像文档对象模型 (DOM). 您可以 查询和修改 XML 文档,修改之后,可以将其另存为文件,也可以将其序列化然 后通过网络发送. 但是,LINQ to XML 与 DOM 不同: 它提供一种新的对象模 型,这

LINQ TO XML之判断不存在行则插入

近日写一个小工具,用到XML作为数据存储.其中要对两个XML文件进行匹配 比较.我现在使用的是LINQ TO XML语法,大致的例子如下 if (File.Exists(cacheFile)) { XDocument cachedoc = XDocument.Load(cacheFile); var query = from p in cachedoc.Descendants ("file") where p.Attribute ("blogId").Value =

Linq之Linq to XML

目录 写在前面 系列文章  linq to xml  总结 写在前面 在很多情况下,都可以见到使用xml的影子.例如,在 Web 上,在配置文件.Microsoft Office Word 文件(将word文档另存为xml文件,这也提供了一种通过操作xml,操作word的一种方式)以及数据库中,都可以看到 XML.而linq to xml提供了一种操作xml更便捷的方式. 系列文章 Linq之Lambda表达式初步认识 Linq之Lambda进阶 Linq之隐式类型.自动属性.初始化器.匿名类

linq to xml复习

虽然linq to xml随着.net framework3.0一起发布N久了,但因为自己以前参考网上的代码封装了一个xml操作类(当时linq to xml还没出来,这个封闭工具类一直也用得很顺手),所以在项目中也几乎极少用linq to xml,最近业余时间学习silverlight,原来针对winform/webform开发写的一些工具库部分要作修改才能用于silverlight,懒得一一移植了,干脆直接用.net内置的得了,何况自己再写一个,也还是这些玩意儿,有现成的不用白不用,整理了一

c# linq to xml-关于c# winform中XML得问题,可能涉及linq to xml

问题描述 关于c# winform中XML得问题,可能涉及linq to xml 对于图片上面的图元,我需要把它存成XML,需要图元的位置,大小,类型,修改图元以后,旧的信息会删除,存入新的信息.请各位帮帮忙,谢谢. 解决方案 不明白,这个难度有点大啊,你的这三个图片是在一张图上啊.