效果图:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.js"></script>
  7. <style type="text/css">
  8. body {
  9. text-align: center;
  10. /* 页面元素居中 */
  11. }
  12. </style>
  13. <script type="text/javascript">
  14. //定义全局变量
  15. cdcatalog = loadXML("cdcatalog.xml");
  16. root = cdcatalog.documentElement;
  17. cd = root.getElementsByTagName("cd");
  18. valArr = [];
  19. function onloadFun() {
  20. //valArr赋值
  21. $('#show').find("th").each(function(i) {
  22. valArr.push($.trim($(this).text()));
  23. });
  24. loadXMLFun();
  25. }
  26. //创建xmldom对象
  27. function loadXML(xmlFile) {
  28. var xmlDom = null;
  29. try {
  30. //xmlhttp方式,支持火狐、chrome、oprea等浏览器,但不可跨域
  31. var xmlhttp = new window.XMLHttpRequest();
  32. xmlhttp.open("GET", xmlFile, false);
  33. xmlhttp.send(null);
  34. if (xmlhttp.status == 200) {
  35. xmlDom = xmlhttp.responseXML;
  36. } else {
  37. //传入的是XML字符串而非XML地址时非IE浏览器处理
  38. var parseXml = new DOMParser();
  39. var xmlDom = parseXml.parseFromString(xmlFile, "text/xml");
  40. }
  41. } catch (ex) {
  42. //传入的是XML字符串而非XML地址时非IE浏览器处理
  43. var parseXml = new DOMParser();
  44. var xmlDom = parseXml.parseFromString(xmlFile, "text/xml");
  45. }
  46. return xmlDom;
  47. }
  48. function loadXMLFun() {
  49. fillTable(cd);
  50. }
  51. function fillTable(list) {
  52. var trs = [];
  53. var tds = [];
  54. for (var x = 0; x < list.length; x++) {
  55. trDom = $('<tr></tr>');
  56. for (var i = 0; i < valArr.length; i++) {
  57. $('<td >' + getValue(list, x, valArr[i]) + '</td>').appendTo(trDom);
  58. trs.push(trDom);
  59. }
  60. }
  61. for (var j = 0; j < trs.length; j++) {
  62. $(trs[j]).appendTo($('#show'));
  63. }
  64. }
  65. function getValue(list, i, key) {
  66. try {
  67. if ("id" == key) {
  68. return list[i].getAttribute(key);
  69. } else if ("photo" == key) {
  70. imgsrc = list[i].getElementsByTagName(key)[0].childNodes[0].nodeValue;
  71. return '<img src="' + imgsrc + '" />';
  72. } else {
  73. return list[i].getElementsByTagName(key)[0].childNodes[0].nodeValue;
  74. }
  75. } catch (ex) {
  76. return "";
  77. }
  78. }
  79. function search() {
  80. var searchStrLow = $.trim($("#artistText").val().toLowerCase());
  81. var flag = false;
  82. var tmpArray = [];
  83. $("table tbody tr").eq(0).nextAll().remove();
  84. /*$(root).find('cd').each(function() {
  85. var artistLow = $(this).find("artist").text().toLowerCase();
  86. if (artistLow.indexOf(searchStrLow) != -1) {
  87. fillTable($(this));
  88. flag = true;
  89. }
  90. });
  91. */
  92. for (var i = 0; i < cd.length; i++) {
  93. var artistLow = $.trim(cd[i].getElementsByTagName("artist")[0].childNodes[0].nodeValue.toLowerCase());
  94. if (artistLow.indexOf(searchStrLow) != -1) {
  95. tmpArray.push(cd[i]);
  96. flag = true;
  97. }
  98. }
  99. fillTable(tmpArray);
  100. if (flag == false) {
  101. alert("查询不到结果!")
  102. }
  103. }
  104. function modi() {
  105. $("table tbody tr").eq(0).nextAll().remove();
  106. //修改第3张cd的数量为1
  107. root.getElementsByTagName("quantity")[2].childNodes[0].nodeValue = "1";
  108. fillTable(cd);
  109. }
  110. function add() {
  111. var tmp;
  112. var lines = ++cd.length;
  113. $("table tbody tr").eq(0).nextAll().remove();
  114. //创建一个cd节点
  115. newElem = cdcatalog.createElement("cd");
  116. for (var i = 0; i < valArr.length; i++) {
  117. if ("id" == valArr[i]) {
  118. newElem.setAttribute("id", "00" + lines); //设置该节点id属性
  119. } else if ("photo" == valArr[i]) {} else {
  120. tmp = cdcatalog.createElement(valArr[i]);
  121. tmp.textContent = valArr[i];
  122. newElem.appendChild(tmp);
  123. }
  124. }
  125. root.appendChild(newElem);
  126. fillTable(cd);
  127. }
  128. function remove() {
  129. root.children[0].remove();
  130. $("table tbody tr").eq(0).nextAll().remove();
  131. fillTable(cd);
  132. }
  133. </script>
  134. </head>
  135. <body onload="onloadFun()"> <span>输入artist:</span>
  136. <input id="artistText" type="text" />
  137. <input id="searchButton" type="button" value="搜索" onclick="search()" />
  138. <input id="addButton" type="button" value="添加" onclick="add()" />
  139. <input id="modiButton" type="button" value="修改" onclick="modi()" />
  140. <input id="modiButton" type="button" value="删除" onclick="remove()" />
  141. <h2> CD </h1>
  142. <table border="1px dashed #999999" id="show" align="center" bgcolor="#f9f9f9">
  143. <tbody>
  144. <tr>
  145. <th>id</th>
  146. <th>title</th>
  147. <th>artist</th>
  148. <th>country</th>
  149. <th>company</th>
  150. <th>price</th>
  151. <th>year</th>
  152. <th>quantity</th>
  153. <th>photo</th>
  154. </tr>
  155. </tbody>
  156. </table>
  157. </body>
  158. </html>

XML 文件

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by et8 (et8) -->
  3. <!-- Edited with XML Spy v2005 (http://www.altova.com) -->
  4. <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
  5. <cdcatalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cdcatalog.xsd">
  6. <cd id="0001">
  7. <title>Empire Burlesque</title>
  8. <artist>Bob Dylan</artist>
  9. <country>USA</country>
  10. <company>Columbia</company>
  11. <price>10.90</price>
  12. <year>1985</year>
  13. <quantity>5</quantity>
  14. <photo>default.jpg</photo>
  15. </cd>
  16. <cd id="0002">
  17. <title>Hide your heart</title>
  18. <artist>Bonnie Tyler</artist>
  19. <country>UK</country>
  20. <company>CBS Records</company>
  21. <price>9.90</price>
  22. <year>1988</year>
  23. <quantity>15</quantity>
  24. <photo>default.jpg</photo>
  25. </cd>
  26. <cd id="0003">
  27. <title>Greatest Hits</title>
  28. <artist>Dolly Parton</artist>
  29. <country>USA</country>
  30. <company>RCA</company>
  31. <price>9.90</price>
  32. <year>1982</year>
  33. <quantity>5</quantity>
  34. <photo>default.jpg</photo>
  35. </cd>
  36. <cd id="0004">
  37. <title>Still got the blues</title>
  38. <artist>Gary Moore</artist>
  39. <country>UK</country>
  40. <company>Virgin records</company>
  41. <price>10.20</price>
  42. <year>1990</year>
  43. <quantity>5</quantity>
  44. <photo>default.jpg</photo>
  45. </cd>
  46. <cd id="0005">
  47. <title>Eros</title>
  48. <artist>Eros Ramazzotti</artist>
  49. <country>EU</country>
  50. <company>BMG</company>
  51. <price>9.90</price>
  52. <year>1997</year>
  53. <quantity>24</quantity>
  54. <photo>default.jpg</photo>
  55. </cd>
  56. <cd id="0006">
  57. <title>One night only</title>
  58. <artist>Bee Gees</artist>
  59. <country>UK</country>
  60. <company>Polydor</company>
  61. <price>10.90</price>
  62. <year>1998</year>
  63. <quantity>5</quantity>
  64. <photo>default.jpg</photo>
  65. </cd>
  66. <cd id="0007">
  67. <title>Sylvias Mother</title>
  68. <artist>Dr.Hook</artist>
  69. <country>UK</country>
  70. <company>CBS</company>
  71. <price>8.10</price>
  72. <year>1973</year>
  73. <quantity>5</quantity>
  74. <photo>default.jpg</photo>
  75. </cd>
  76. <cd id="0008">
  77. <title>Maggie May</title>
  78. <artist>Rod Stewart</artist>
  79. <country>UK</country>
  80. <company>Pickwick</company>
  81. <price>8.50</price>
  82. <year>1990</year>
  83. <quantity>5</quantity>
  84. <photo>default.jpg</photo>
  85. </cd>
  86. <cd id="0009">
  87. <title>Romanza</title>
  88. <artist>Andrea Bocelli</artist>
  89. <country>EU</country>
  90. <company>Polydor</company>
  91. <price>10.80</price>
  92. <year>1996</year>
  93. <quantity>5</quantity>
  94. <photo>default.jpg</photo>
  95. </cd>
  96. <cd id="0010">
  97. <title>When a man loves a woman</title>
  98. <artist>Percy Sledge</artist>
  99. <country>USA</country>
  100. <company>Atlantic</company>
  101. <price>8.70</price>
  102. <year>1987</year>
  103. <quantity>3</quantity>
  104. <photo>default.jpg</photo>
  105. </cd>
  106. </cdcatalog>

JS 增删改查操作XML的更多相关文章

  1. 用dom4j解析xml文件并执行增删改查操作

    转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ...

  2. 详谈easyui datagrid增删改查操作

    转自:http://blog.csdn.net/abauch_d/article/details/7734395 前几天我把easyui dadtagrid的增删改查的实现代码贴了出来,发现访问量达到 ...

  3. MyBatis批量增删改查操作

      前文我们介绍了MyBatis基本的增删该查操作,本文介绍批量的增删改查操作.前文地址:http://blog.csdn.net/mahoking/article/details/43673741 ...

  4. 后盾网lavarel视频项目---lavarel使用模型进行增删改查操作

    后盾网lavarel视频项目---lavarel使用模型进行增删改查操作 一.总结 一句话总结: 使用模型操作常用方法 查一条:$model=Tag::find($id); 删一条:Tag::dest ...

  5. MyBatis学习之简单增删改查操作、MyBatis存储过程、MyBatis分页、MyBatis一对一、MyBatis一对多

    一.用到的实体类如下: Student.java package com.company.entity; import java.io.Serializable; import java.util.D ...

  6. 如何搭建一个WEB服务器项目(二)—— 对数据库表进行基本的增删改查操作

    使用HibernateTemplate进行增删改查操作 观前提示:本系列文章有关服务器以及后端程序这些概念,我写的全是自己的理解,并不一定正确,希望不要误人子弟.欢迎各位大佬来评论区提出问题或者是指出 ...

  7. 学习MyBatis必知必会(5)~了解myBatis的作用域和生命周期并抽取工具类MyBatisUtil、mybatis执行增删改查操作

    一.了解myBatis的作用域和生命周期[错误的使用会导致非常严重的并发问题] (1)SqlSessionFactoryBuilder [ 作用:仅仅是用来创建SqlSessionFactory,作用 ...

  8. mongoVUE的增删改查操作使用说明

    mongoVUE的增删改查操作使用说明 一. 查询 1. 精确查询 1)右键点击集合名,再左键点击Find 或者直接点击工具栏上的Find 2)查询界面,包括四个区域 {Find}区,查询条件格式{& ...

  9. (转)SQLite数据库增删改查操作

    原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...

随机推荐

  1. python实现个人信息随机生成

    """ 生成随机姓名.电话号码.身份证号.性别.应行卡号.邮箱 """ import random from firstname impor ...

  2. python关于文件操作

    今日所得 文件操作模式的补充 文件光标的移动控制 截断文件 修改文件 函数的简单介绍 文件操作模式的补充 """ r w a 将上面的三个模式称为纯净模式 r+ w+ a ...

  3. linux环境下卸载mysql

    第一种使用yum安装的mysql,使用如下命令进行卸载(不能确定使用何种方式安装的mysql情况下,按后续步骤一一进行处理即可): # yum remove mysql mysql-server my ...

  4. OpenCVSharp介绍

    OpenCvSharp 是一个OpenCV的.Net wrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的OpenCV,有详细的使用样例供参考.该库采用LGPL发行,对商业 ...

  5. zabbix 扩展脚本

    #!/usr/bin/env python #encoding:utf8 # desc: self-inspection # args: # reboot : reboot AP # check : ...

  6. 吴裕雄--天生自然python学习笔记:WEB数据抓取与分析

    Web 数据抓取技术具有非常巨大的应用需求及价值, 用 Python 在网页上收集数据,不仅抓取数据的操作简单, 而且其数据分析功能也十分强大. 通过 Python 的时lib 组件中的 urlpar ...

  7. python可变类型和不可变类型,深拷贝vs浅拷贝

    转载:https://www.cnblogs.com/huamingao/p/5809936.html 核心提示: 可变类型 Vs 不可变类型 可变类型(mutable):列表,字典 不可变类型(un ...

  8. Java IO: Reader And Writer

    原文链接 作者: Jakob Jenkov  译者: 李璟(jlee381344197@gmail.com) Java IO的Reader和Writer除了基于字符之外,其他方面都与InputStre ...

  9. JVM笔记(一)

    <ignore_js_op> Class Loader类加载器负责加载class文件,class文件在文件开头有特定的文件标识,并且ClassLoader只负责class文件的加载,至于它 ...

  10. EMP平台简介(转载)

    1.什么是EMP EMP平台是一个基于J2EE体系的.WEB应用的.基础框架平台: 表现逻辑框架(MVCFrameWork)与业务逻辑框架(EMPBizLogic)分离: 组件化.配置化设计技术: 可 ...