Pass:看公司代码,配置下拉框的功能,和下拉框的数字转文字。配置xml里面有下拉的value,name,这样界面直接显示数字,然后转译成中文

1.xml文件格式

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <bookstore>
  3. <book category="COOKING" id="">
  4. <title lang="en">Everyday Italian</title>
  5. <author>Giada De Laurentiis</author>
  6. <year></year>
  7. <price></price>
  8. </book>
  9. </bookstore>

2.认识xml的基本操作的几个基本概念

net操作xml有基本的XMLDocument、linq

2.1 XmlDocument : XmlDocument将XML视为树状结构,它装载XML文档,并在内存中构建该文档的树状结构。下面来看下XmlDocument提供了哪些功能。

2.2 XmlNode:节点

2.3 XmlElement:元素

2.4几个基本操作

获取节点的值:?.InnerText ;

获取节点的属性:?.Attributes["id"].InnerText ;

3.xml的增删改查

3.1 最基本

  1. public book getModel()
  2. {
  3. //封装获取数据
  4. book b = new book();
  5. b.author = HttpContext.Current.Request["author"];
  6. b.category = HttpContext.Current.Request["category"];
  7. b.lang = HttpContext.Current.Request["lang"];
  8. b.price = Convert.ToDouble(HttpContext.Current.Request["price"]);
  9. b.title = HttpContext.Current.Request["title"];
  10. b.year = Convert.ToInt16(HttpContext.Current.Request["year"]);
  11. return b;
  12. }
  13. public List<book> readXMl()
  14. {
  15. List<book> ls = new List<book> { };
  16.  
  17. //1.载入xml
  18. XmlDocument doc = new XmlDocument();
  19. doc.Load(xmlPath);
  20.  
  21. //2.获取文档下第一个子类的所以子类
  22. XmlNodeList listNode = doc.SelectSingleNode("bookstore").ChildNodes;
  23.  
  24. //3.遍历子类
  25. foreach (XmlNode books in listNode)
  26. {
  27. book b = new book();
  28. b.Id = Convert.ToInt16(books.Attributes["id"].InnerText);
  29. b.category = books.Attributes["category"].InnerText;
  30. b.title = books["title"].InnerText;
  31. b.lang = books["title"].Attributes["lang"].InnerText;
  32. b.author = books["author"].InnerText;
  33. b.year = Convert.ToInt16(books["year"].InnerText);
  34. b.price = Convert.ToDouble(books["price"].InnerText);
  35.  
  36. ls.Add(b);
  37. }
  38.  
  39. return ls;
  40. }
  41. public book readXMLById()
  42. {
  43. book b = getModel();
  44.  
  45. //需要查询数据的Id
  46. b.Id = Convert.ToInt16(HttpContext.Current.Request["id"]);
  47.  
  48. XmlDocument root = new XmlDocument();
  49. root.Load(xmlPath);
  50.  
  51. XmlNode xml = root.SelectSingleNode("bookstore");
  52. XmlNodeList listnode = xml.ChildNodes;
  53.  
  54. //遍历bookstore下的节点
  55. foreach (XmlNode i in listnode)
  56. {
  57. //获取每一个book的属性Id对比是否=需要查询的值
  58. if (i.Attributes["id"].InnerText == b.Id.ToString())
  59. {
  60. b.category = i.Attributes[].InnerText;
  61. b.title = i["title"].InnerText;
  62. b.lang = i["title"].Attributes["lang"].InnerText;
  63. b.author = i["author"].InnerText;
  64. b.year = Convert.ToInt16(i["year"].InnerText);
  65. b.price = Convert.ToDouble(i["price"].InnerText);
  66. }
  67. }
  68.  
  69. return b;
  70.  
  71. }
  72. public bool WriteXml()
  73. {
  74. bool isValue = false;
  75. try
  76. {
  77. //设置模型类,只是为了更好的看到数据
  78. book b = getModel();
  79.  
  80. //创建xml文件
  81. XmlDocument xml = new XmlDocument();
  82. xml.Load(xmlPath);
  83.  
  84. //最高级树
  85. XmlNode root = xml.SelectSingleNode("bookstore");
  86. int id = Convert.ToInt16(root.LastChild.Attributes["id"].InnerText) + ;
  87.  
  88. //二级子节点
  89. XmlElement node = xml.CreateElement("book");
  90. node.SetAttribute("category", b.category);
  91. node.SetAttribute("id", id.ToString());
  92.  
  93. //三级子节点
  94. XmlElement n1 = xml.CreateElement("title");
  95. n1.SetAttribute("lang", b.lang);
  96. n1.InnerText = b.title;
  97.  
  98. XmlElement n2 = xml.CreateElement("author");
  99. n2.InnerText = b.author;
  100.  
  101. XmlElement n3 = xml.CreateElement("year");
  102. n3.InnerText = b.year.ToString();
  103.  
  104. XmlElement n4 = xml.CreateElement("price");
  105. n4.InnerText = b.price.ToString();
  106.  
  107. //三级添加到二级
  108. node.AppendChild(n1);
  109. node.AppendChild(n2);
  110. node.AppendChild(n3);
  111. node.AppendChild(n4);
  112.  
  113. //二级添加到一级
  114. root.AppendChild(node);
  115.  
  116. //把文件保存到路径
  117. xml.Save(xmlPath);
  118. isValue = true;
  119. }
  120. catch (Exception e)
  121. {
  122. HttpContext.Current.Response.Write(e);
  123. }
  124. return isValue;
  125.  
  126. }
  127. public bool delXMLById()
  128. {
  129. bool isValue = false;
  130. book b = getModel();
  131. b.Id = Convert.ToInt16(HttpContext.Current.Request["id"]);
  132. //以上为获取数据
  133.  
  134. XmlDocument root = new XmlDocument();
  135. root.Load(xmlPath);
  136.  
  137. XmlNode xml = root.SelectSingleNode("bookstore");
  138. XmlNodeList listnode = xml.ChildNodes;
  139. foreach (XmlNode i in listnode)
  140. {
  141. if (i.Attributes["id"].InnerText.ToString() == b.Id.ToString())
  142. {
  143. xml.RemoveChild(i);
  144. root.Save(xmlPath);
  145. isValue = true;
  146. }
  147. }
  148.  
  149. return isValue;
  150. }
  151. public bool upXMLByModel()
  152. {
  153. book b = getModel();
  154. bool isValue = false;
  155. b.Id = Convert.ToInt16(HttpContext.Current.Request["id"]);
  156. //以上为获取数据:request[""]
  157.  
  158. XmlDocument root = new XmlDocument();
  159. root.Load(xmlPath);
  160. XmlNode xml = root.SelectSingleNode("bookstore");
  161. XmlNodeList xs = xml.ChildNodes;
  162.  
  163. foreach (XmlNode x in xs)
  164. {
  165. if (x.Attributes["id"].InnerText.ToString() == b.Id.ToString())
  166. {
  167. XmlElement node = x as XmlElement;
  168. node.SetAttribute("category", b.category);
  169.  
  170. //三级树
  171. XmlElement n1 = node.SelectSingleNode("title") as XmlElement;
  172. n1.SetAttribute("lang", b.lang);
  173. n1.InnerText = b.title;
  174.  
  175. XmlElement n2 = node.SelectSingleNode("author") as XmlElement;
  176. n2.InnerText = b.author;
  177.  
  178. XmlElement n3 = node.SelectSingleNode("year") as XmlElement;
  179. n3.InnerText = b.year.ToString();
  180.  
  181. XmlElement n4 = node.SelectSingleNode("price") as XmlElement;
  182. n4.InnerText = b.price.ToString();
  183.  
  184. root.Save(xmlPath);
  185. isValue = true;
  186. }
  187. }
  188. return isValue;
  189. }

3.2 linq操作

4.代码包

http://pan.baidu.com/s/1b6ReEU

net对XML增删改查的更多相关文章

  1. 使用python操作XML增删改查

    使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...

  2. [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界

    本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...

  3. .net xml 增删改查基础复习及干货分享

    今天做做项目时,有一个需求需要用到一些固定的文本数据,觉得将这些需要存储的信息直接写在代码里很不友好,放在数据库中存储又觉得不够方便,自然就想到了使用xml来进行操作,我平常在项目中其实用到xml的机 ...

  4. c# XML增删改查

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. Linq to XML 增删改查

    Linq to XML同样是对原C#访问XML文件的方法的封装,简化了用xpath进行xml的查询以及增加,修改,删除xml元素的操作.C#访问XML文件的常用类:XmlDocument,XmlEle ...

  6. XML 增删改查

    <?php $xmlpatch = 'index.xml'; $_id = '; $_title = 'title1'; $_content = 'content1'; $_author = ' ...

  7. c#操作xml增删改查

    1.首先新建一个xml文件(Root是我写上的) 2. 3.直接上代码,更直观 (1)初始化xml /// <summary> /// 初始化xml /// </summary> ...

  8. Linq To Xml操作XML增删改查

    对XML文件的操作在平时项目中经常要运用到,比如用于存放一些配置相关的内容:本文将简单运用Linq TO Xml对XML进行操作,主要讲解对XML的创建.加载.增加.查询.修改以及删除:重点在于类XD ...

  9. 4.Linq To Xml操作XML增删改查

    转自https://www.cnblogs.com/wujy/p/3366812.html 对XML文件的操作在平时项目中经常要运用到,比如用于存放一些配置相关的内容:本文将简单运用Linq TO X ...

随机推荐

  1. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q63-Q65)

    Question 63You are designing a SharePoint 2010 implementation that will be used by a company with a ...

  2. KVO的底层实现

    1.KVO是基于Runtime机制实现的: 2.当某个类的对象的某个属性第一次被观察时,系统会在运行期间动态地创建该类的一个派生类,在这个派生类中重写基类的任何被观察属性的setter方法,派生类在被 ...

  3. iOS tableviewcell 分割线 偏移和颜色

    改变颜色 [_hotProductsTableView setSeparatorColor : kSeparatorColor]; -(void)viewDidLayoutSubviews { [su ...

  4. TextView 字数限制

    给大家推荐一个  无bug的 字数限制   http://blog.csdn.net/u012460084/article/details/50377928

  5. 【代码笔记】iOS-登陆单例

    一,工程图. 二,代码. UserInfo.h #import <Foundation/Foundation.h> @interface UserInfo : NSObject + (id ...

  6. ios 友盟第三方登录遇到的各种坑。

    //未使用pod的点友盟官方文档 http://dev.umeng.com/social/ios/quick-integration 首先pod导入 pod 'UMengSocialCOM', '~& ...

  7. 结对编程-地铁续(有种上个学期OO的既视感)

    我们组比较特殊..三人结对 github:https://github.com/qingchanghan/WPFUI_Metro po一张照片: 石浩然,韩青长.陈彦吉 (台式机真的很高端,分屏贼帅) ...

  8. H5一二事

    先回顾一下WEB技术的几个阶段 Web 1.0 内容为主,主要流行HTML和CSS Web 2.0 动态网页,流行AJAX/JavaScript/DOM H5 时代,WEB开发回归富客户端 那么H5肯 ...

  9. ORACLE绑定变量隐式转换导致性能问题

    年后一次系统升级后,监控数据库的工具DPA发现数据库的Total Wait时间突然飙增,如下截图所示,数据库的总体等待时间对比升级前飙增了非常多 另外就是发现出现了较多的等待事件,主要有latch: ...

  10. 使用axis调用WebService服务端

    由于项目中要调用其他公司的接口,研究了下axis调用webService这种方式,现将代码贴出,以备以后查阅: package com.xbq; import javax.xml.namespace. ...