Linq to xml 示例分析
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 示例分析相关推荐
- java解析xml实例_在java中使用dom解析xml的示例分析
本篇文章介绍了,在java中使用dom解析xml的示例分析.需要的朋友参考下 dom是个功能强大的解析工具,适用于小文档 为什么这么说呢?因为它会把整篇xml文档装载进内存中,形成一颗文档对象树 总之 ...
- LINQ to XML 常用操作(转)
查找具有特定属性的元素 XElement root = XElement.Load("PurchaseOrder.xml"); IEnumerable<XElement> ...
- Linq初级班 Linq To XML体验(基础篇)
LINQ To XML体验(基础) 这两天开始学习LINQ to XML的知识,我会继续把自己的感想和示例发布给初学者们学习的,一样欢迎高手们多多指点,请勿使用过激语言,针锋相对,我是个初学者,自知还 ...
- LINQ之路19:LINQ to XML之X-DOM更新、和Value属性交互
本篇包含两部分内容:X-DOM更新一节中我们会详细讨论LINQ to XML的更新方式,包括Value的更新.子节点和属性的更新.通过Parent节点实现更新: 和Value属性交互一节会详细讨论XE ...
- LINQ to XML .Net 3.5 中的新XML对象
System.Xml.Linq 命名空间中,有一系列新的LINQ to XML 帮助对象,使处理内存中的XML文档变的非常简单. 示例使用的Hamlet.xml来源自C#高级编程源代码. XDocum ...
- python解析xml文件elementtree_Python中使用ElementTree解析XML示例
[XML基本概念介绍] XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据. 概念一: 复制代码 代码如下: # foo元素的起始标签 ...
- 用linq查询html中div个数,C#使用Linq to XML进行XPath查询
最近在用到HtmlAgliltyPack进行结点查询时,发现这里选择结点使用的是XPath.所以这里总结一下在C#中使用XPath查询XML的方式.习惯了用Linq,这里也是用的Linq to xml ...
- 一个简单的LINQ TO XML, AJAX 例子[译]
这个教程是用Visual Studio.net 2008建立,也可以使用VS2005,但你需要从这里下载安装Microsoft's ASP.NET AJAX Extensions,AJAX和LINQ是 ...
- LINQ to XML 编程基础
http://www.cnblogs.com/luckdv/articles/1728088.html?login=1 1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快 ...
最新文章
- python与excel的区别-Python比较两个excel文档内容的异同
- 稀疏矩阵的压缩存储的两种策略
- 逆向推导https的设计过程
- 设计模式之建造者模式(Builder)
- Python基础:函数的介绍及应用
- 《scikit-learn》使用交叉验证优化KNN参数
- k8s包管理器helm_是时候使用Helm了:Helm, Kubernetes的包管理工具
- PHP 性能分析第三篇: 性能调优实战
- STL中的所有算法(70个)
- HTML5期末大作业:网页设计作业网站设计——千与千寻-电影图文(9页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码
- mysql 端口号_mysql的端口号(mysql常用端口号)
- 【数据集】计算机视觉,深度学习,数据挖掘数据集整理
- 如何预防电脑辐射(转自j2medev)
- std::uninitialized_copy::_Unchecked_iterators::_Deprecate
- html div边框宽度,边框的宽度
- 《Kotlin 极简教程》第13章 使用 Kotlin 和 Anko 的Android 开发
- 【POJ1021】Intervals (最短路解差分约束)
- 策略迭代与值迭代的区别
- 雷军亲自站台,游戏手机能否成为市场增长新引擎?
- 小米新手机将率先搭载鸿蒙系统,鸿蒙系统正式亮相,国产手机抱团鸿蒙势在必行,而小米这次迟疑了...
热门文章
- 新建站点的mysql数据库_lAMP下新建维护站点全过程
- java jpa更新数据_Java如何使用JPA更新实体对象?
- c#值get、 set用法(包含自动转换的说明)
- python调用系统命令_Python调用外部系统命令
- 鸿蒙硬件HI3861-4G透传模块-MODBUS
- 图例放在图的外面_Qt编写自定义控件41-自定义环形图
- css 右上角 翻开动画_css制作电闪雷鸣的天气图标
- 使用pyLDAvis可视化LDA结果,与解决FileNotFoundError: [Errno 2] No such file or directory: ‘https://cdn.jsdel....
- Python使用wordnet工具计算词集与词条基本用法(二)
- ubuntu18.04升级cmake