二、Linq to XML(更新,删除,加载)
来源:互联网 发布:ubuntu 修改ip地址 编辑:程序博客网 时间:2024/06/18 01:06
Xml操作 场景:产品采购单。 描述:产品采购单用于描述产品的采购,它可以从各地进行采购,且每地可以采购多种商品。地址信息包括:城市,电话,联系人,日期,商品;商品包括0到多项,商品包括:产品名称,编号,描述,单价,采购总量。+ <?xml version="1.0" encoding="utf-8" standalone="no"?> <purchaseOrder> <address> <city>石家庄</city> <call>88888888</call> <contact>暂无联系方式</contact> <opdate>2009-12-21</opdate> <products> <product> <name>产品4</name> <num>C004</num> <price>66</price> <total>27</total> <description>产品4</description> </product> <product> <name>产品1</name> <num>B001</num> <price>12</price> <total>20</total> <description>产品1描述</description> </product> <product> <name>产品2</name> <num>B002</num> <price>16</price> <total>22</total> <description>产品2描述</description> </product> <product> <name>产品3</name> <num>C003</num> <price>18</price> <total>108</total> <description>产品3</description> </product> </products> </address> </purchaseOrder> (一)更新 产品列表 //这个列表如下: /************************************************ Name num price total description 产品4 C004 66 27 产品4 产品1 B001 12 20 产品1描述 产品2 B002 16 22 产品2描述 产品3 C003 18 108 产品3 **************************************************/ 采购单查询产品后,可以得到类似的一个产品列表。对照这个列表来进行查询可以更好的助于理解。 现在更新产品描述为“产品3”的产品的单价(price),由18降低到17 //更新描述是"产品3"的产品,使它的单价由18降到17 var willUpdateProduct = from q in productList where (string)q.Element("description") == "产品3" select q; XElement nowele = willUpdateProduct.First<XElement>(); nowele.Element("price").SetValue(17); 说明:查询结果返回的应该是一个结果集,即使是聚合方法返回的也是一个结果集,只是结果集大多情况下只有一条而已。同理,对于linq to xml查询,返回的也是一个结果集。(说明一下,这里说是结果集,可能不严谨,暂且这样理解吧。)productList是什么? var productList = from q in doc.Root.Element("address") .Element("products") .Elements("product") select q; productList是一个结果集,这个集合又是doc中的所有的product节点,对于对象来说,这个集是一个如产品列表一样的列表,唯有不同的是一个做为节点的元素来说的,而后一个则做为产品实体的属性来说的。 willUpdateProduct也是一个集,因为它是在产品集中进行检索,而检索的结果就是一个产品集,但对于linqtoxml来说,这个集是一个Xelement的集合。这里它检索的条件为产品描述为“产品3”,它返回的结果只有一条,所以nowele就得到了这个对象,而这个对象就是Xelement类型。 然后通过SetValue方法来设定(更新)price的值。 (二)删除 在以上基础上,来删除这个元素(产品:产品3) nowele.Remove(); (三)加载doc文档 XDocument _doc = XDocument.Load("source/PurchaseOrder.xml");
- 二、Linq to XML(更新,删除,加载)
- LINQ体验(二)LINQ to XML
- linq to xml(删除)
- XLINQ(LINQ to XML)之针对XML文件的添加、查询、更新和删除
- XLINQ(LINQ to XML)之针对XML文件的添加、查询、更新和删除
- 使用Linq to XML加载XML文档
- LinQ To SQL 添加、删除、更新C#
- LinQ To SQL 添加、删除、更新C#
- LINQ To Xml:按条件删除element
- 步步为营VS 2008 + .NET 3.5(14) - XLINQ(LINQ to XML)之针对XML文件的添加、查询、更新和删除
- 步步为营VS 2008 + .NET 3.5(14) - XLINQ(LINQ to XML)之针对XML文件的添加、查询、更新和删除
- linq to xml (linq查询)
- Linq TO XML (读写)
- [代码]如何从文件加载XML(LINQ to XML)
- Linq的技术太强大了分享一下(linq to sql 的插入、更新、查询、删除)
- linq 基本操作(删除、更新、插入)
- linq 批量更新删除
- LINQ To XML:获取,修改,增加,删除元素的属性
- bmp 和 jpg 的区别
- Ubuntu常用命令与技巧 (精华收藏)
- c# 性能总结
- Ado执行批处理的问题
- UTC转换本地时间
- 二、Linq to XML(更新,删除,加载)
- 典型的异步服务器端套接字构建
- win32中如何区别“鼠标单击”和 “鼠标双击”
- php下 fckeditor 2.6.6的使用和配置(完整版)
- 读取文章框中的值,并提交到不同的页面
- PHP 获取字符串 函数
- hdoj 1160
- read XML - SAX parser
- makefile