XML文件

<?xml version="1.0" encoding="utf-8"?>
<Simnumber>
  <Tlinkman Ter_ID="10011000030000000011" TSim="460021238303270">已回收,暂未安装</Tlinkman>
  <Tlinkman Ter_ID="10011000200000000001" TSim="555"></Tlinkman>
  <Tlinkman Ter_ID="10011000010000000001" TSim="460021238303270">市场运营中心</Tlinkman>
</Simnumber>

1.创建XML

//创建XML
private void btn_Add_Click(object sender, EventArgs e)
        {
 
            if (!File.Exists(path))
            {
                XElement root = new XElement("Simnumber",
                                             new XElement("Tlinkman",
                                                          new XAttribute("Ter_ID", ""),
                                                          new XAttribute("TSim", "")
                                                 )
                    );
                root.Save(path);
                MessageBox.Show("成功!", "消息提示");
            }
            else
{
                MessageBox.Show("xml已存在!", "消息提示");
            }
        }
 

2.删除XML

//删除XML
private void btn_Delete_Click(object sender, EventArgs e)
        {
            if (!File.Exists(path))
            {
                MessageBox.Show("xml还未创建,请创建!", "消息提示");
            }
            if (File.Exists(path))
            {
                FileInfo file = new FileInfo(path);
 
                if (MessageBox.Show("是否确认删除!?", "消息提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    file.Delete();
                }
            }
        }
 

3.查询

//查询TSim && Tlinkman
private void btn_id_Search_Click(object sender, EventArgs e)
{
  XElement root = XElement.Load(path);
    var address =
        from el in root.Elements("Tlinkman")
        where (string)el.Attribute("Ter_ID") == txt_ID.Text
        select el;
    //判断查询结果
if (address.Count() == 0)
    {
        txt_error.Text = "-_-。:您查询的结果不存在.";
        txt_Sim.Text = "无结果";
        txt_Tlink.Text = "无结果";
    }
    if (address.Count() != 0)
    {
        foreach (XElement el in address)
        {
            txt_Tlink.Text = el.Value;
            txt_Sim.Text = el.Attribute("TSim").Value;
            txt_error.Text = txt_ID.Text + ",\n" +
                " #^_^# :查询成功!";
        }
    }
}
 

4.新增

第1次新增

第2次新增

XML:

<?xml version="1.0" encoding="utf-8"?>
<Simnumber>
  <Tlinkman Ter_ID="10011000030000000011" TSim="460021238303270">已回收,暂未安装</Tlinkman>
  <Tlinkman Ter_ID="10011000200000000001" TSim="555"></Tlinkman>
  <Tlinkman Ter_ID="10011000010000000001" TSim="460021238303270">市场运营中心</Tlinkman>
  <Tlinkman Ter_ID="122123" TSim="333333">333333</Tlinkman>
</Simnumber>

代码文档:

//新增TSim && Tlinkman
private void btn_ADD_TSim_Click(object sender, EventArgs e)
{
    if (txt_ID.Text != "" && txt_Tlink.Text != "" && txt_Sim.Text != "")
    {
        XDocument xdoc = XDocument.Load(path);
        XElement root = xdoc.Root;
        var address =
            from el in root.Elements("Tlinkman")
            where (string)el.Attribute("Ter_ID") == txt_ID.Text
            select el;
        if (address.Count() == 0)
        {
            root.Add(
            new XElement("Tlinkman", txt_Tlink.Text,
                new XAttribute("Ter_ID", txt_ID.Text),
                new XAttribute("TSim", txt_Sim.Text)
                )
            );
            root.Save(path);
            txt_error.Text = "Ter_ID = " + txt_ID.Text + "添加成功!";
        }
        else
{
            txt_error.Text = "Sorry,Ter_ID = " + txt_ID.Text + "已存在!不能重复创建。。";
        }
    }
    else
{
        txt_error.Text = "Ter_ID、TSim和Tlinkman不能为空!";
    }
 
}
 

5.修改

XML

<?xml version="1.0" encoding="utf-8"?>
<Simnumber>
  <Tlinkman Ter_ID="10011000030000000011" TSim="460021238303270">已回收,暂未安装</Tlinkman>
  <Tlinkman Ter_ID="10011000200000000001" TSim="555"></Tlinkman>
  <Tlinkman Ter_ID="10011000010000000001" TSim="460021238303270">市场运营中心</Tlinkman>
  <Tlinkman Ter_ID="122123" TSim="qqqqq">qqqqq</Tlinkman>
</Simnumber>

代码文档:

//修改TSim && Tlinkman
private void button1_Click(object sender, EventArgs e)
       {
           if (txt_ID.Text != "" && txt_Tlink.Text != "" && txt_Sim.Text != "")
           {
               XDocument xdoc = XDocument.Load(path);
               XElement root = xdoc.Root;
 
               var p = from pper in root.Elements("Tlinkman")
                       where pper.Attribute("Ter_ID").Value == txt_ID.Text
                       select pper;
               if (p.Count() != 0)
               {
                   foreach (XElement xe in p)
                   {
                       xe.Value = txt_Tlink.Text;
                       xe.SetAttributeValue("TSim", txt_Sim.Text);
                   }
                   root.Save(path);
                   txt_error.Text = "Ter_ID = ‘" + txt_ID.Text + "’修改成功!";
               }
               else
{
                   txt_error.Text = "Ter_ID = ‘" + txt_ID.Text + "’不存在,\r\n请先查询再修改!";
               }
           }
           else
{
               txt_error.Text = "Ter_ID、TSim和Tlinkman不能为空!";
           }
       }
 

6.删除

(1)Ter_ID不存在时,

(2)Ter_ID存在时,

<?xml version="1.0" encoding="utf-8"?>
<Simnumber>
  <Tlinkman Ter_ID="10011000030000000011" TSim="460021238303270">已回收,暂未安装</Tlinkman>
  <Tlinkman Ter_ID="10011000200000000001" TSim="555"></Tlinkman>
  <Tlinkman Ter_ID="10011000010000000001" TSim="460021238303270">市场运营中心</Tlinkman>
</Simnumber>

(3)Ter_ID=12213已删除

//删除TSim && Tlinkman
private void btn_delete_sim_Click(object sender, EventArgs e)
{
    XDocument xdoc = XDocument.Load(path);
    XElement root = xdoc.Root;
 
    var p = from pper in root.Elements("Tlinkman")
            where pper.Attribute("Ter_ID").Value == txt_ID.Text
            select pper;
    if (p.Count() != 0)
    {
        p.Remove();
        txt_error.Text = txt_ID.Text + "删除成功!";
        root.Save(path);
    }
    else
{
        txt_error.Text = "不能删除!查询无结果。。";
    }
 
}
 

7.开启(同步数据库。。未完善。。)

public void Str()
        {
            XDocument xdoc = XDocument.Load(path);
            XElement root = xdoc.Root;
            foreach (XElement item in root.Elements("Tlinkman"))
            {
                string sim = item.Attribute("TSim").Value;
                string terid = item.Attribute("Ter_ID").Value;
                string tlinkman = item.Value;
 
                //Console.WriteLine("{0},{1},{2}", tlinkman, terid, sim);
Ter_Base_Model model = new Ter_Base_Model();
                model.Ter_ID = terid;
                model.TSim = sim;
                model.Tlinkman = tlinkman;
                Ter_Base_Info bll = new Ter_Base_Info();
                bll.Update(model);
            }
        }
 
        //开启
private void btn_Start_Click(object sender, EventArgs e)
        {
            Str();
        }
 

其它代码就不贴出来了。

转载于:https://www.cnblogs.com/tangge/archive/2012/07/20/2600750.html

Linq to xml 示例分析相关推荐

  1. java解析xml实例_在java中使用dom解析xml的示例分析

    本篇文章介绍了,在java中使用dom解析xml的示例分析.需要的朋友参考下 dom是个功能强大的解析工具,适用于小文档 为什么这么说呢?因为它会把整篇xml文档装载进内存中,形成一颗文档对象树 总之 ...

  2. LINQ to XML 常用操作(转)

    查找具有特定属性的元素 XElement root = XElement.Load("PurchaseOrder.xml"); IEnumerable<XElement> ...

  3. Linq初级班 Linq To XML体验(基础篇)

    LINQ To XML体验(基础) 这两天开始学习LINQ to XML的知识,我会继续把自己的感想和示例发布给初学者们学习的,一样欢迎高手们多多指点,请勿使用过激语言,针锋相对,我是个初学者,自知还 ...

  4. LINQ之路19:LINQ to XML之X-DOM更新、和Value属性交互

    本篇包含两部分内容:X-DOM更新一节中我们会详细讨论LINQ to XML的更新方式,包括Value的更新.子节点和属性的更新.通过Parent节点实现更新: 和Value属性交互一节会详细讨论XE ...

  5. LINQ to XML .Net 3.5 中的新XML对象

    System.Xml.Linq 命名空间中,有一系列新的LINQ to XML 帮助对象,使处理内存中的XML文档变的非常简单. 示例使用的Hamlet.xml来源自C#高级编程源代码. XDocum ...

  6. python解析xml文件elementtree_Python中使用ElementTree解析XML示例

    [XML基本概念介绍] XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据. 概念一: 复制代码 代码如下: # foo元素的起始标签 ...

  7. 用linq查询html中div个数,C#使用Linq to XML进行XPath查询

    最近在用到HtmlAgliltyPack进行结点查询时,发现这里选择结点使用的是XPath.所以这里总结一下在C#中使用XPath查询XML的方式.习惯了用Linq,这里也是用的Linq to xml ...

  8. 一个简单的LINQ TO XML, AJAX 例子[译]

    这个教程是用Visual Studio.net 2008建立,也可以使用VS2005,但你需要从这里下载安装Microsoft's ASP.NET AJAX Extensions,AJAX和LINQ是 ...

  9. LINQ to XML 编程基础

    http://www.cnblogs.com/luckdv/articles/1728088.html?login=1 1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快 ...

最新文章

  1. python与excel的区别-Python比较两个excel文档内容的异同
  2. 稀疏矩阵的压缩存储的两种策略
  3. 逆向推导https的设计过程
  4. 设计模式之建造者模式(Builder)
  5. Python基础:函数的介绍及应用
  6. 《scikit-learn》使用交叉验证优化KNN参数
  7. k8s包管理器helm_是时候使用Helm了:Helm, Kubernetes的包管理工具
  8. PHP 性能分析第三篇: 性能调优实战
  9. STL中的所有算法(70个)
  10. HTML5期末大作业:网页设计作业网站设计——千与千寻-电影图文(9页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码
  11. mysql 端口号_mysql的端口号(mysql常用端口号)
  12. 【数据集】计算机视觉,深度学习,数据挖掘数据集整理
  13. 如何预防电脑辐射(转自j2medev)
  14. std::uninitialized_copy::_Unchecked_iterators::_Deprecate
  15. html div边框宽度,边框的宽度
  16. 《Kotlin 极简教程》第13章 使用 Kotlin 和 Anko 的Android 开发
  17. 【POJ1021】Intervals (最短路解差分约束)
  18. 策略迭代与值迭代的区别
  19. 雷军亲自站台,游戏手机能否成为市场增长新引擎?
  20. 小米新手机将率先搭载鸿蒙系统,鸿蒙系统正式亮相,国产手机抱团鸿蒙势在必行,而小米这次迟疑了...

热门文章

  1. 新建站点的mysql数据库_lAMP下新建维护站点全过程
  2. java jpa更新数据_Java如何使用JPA更新实体对象?
  3. c#值get、 set用法(包含自动转换的说明)
  4. python调用系统命令_Python调用外部系统命令
  5. 鸿蒙硬件HI3861-4G透传模块-MODBUS
  6. 图例放在图的外面_Qt编写自定义控件41-自定义环形图
  7. css 右上角 翻开动画_css制作电闪雷鸣的天气图标
  8. 使用pyLDAvis可视化LDA结果,与解决FileNotFoundError: [Errno 2] No such file or directory: ‘https://cdn.jsdel....
  9. Python使用wordnet工具计算词集与词条基本用法(二)
  10. ubuntu18.04升级cmake