01.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
02.<html xmlns="http://www.w3.org/1999/xhtml" >
03.<head>
04. <title>js操作Xml增删改查(IE下)</title>
05. <mce:script type="text/javascript"><!--
06. /*等解决的问题:
07. 1.xpath到底是定位到哪一层,怎样定位到比如root这一级还是person或name这一级.
08. */
09. var xmlDoc;
10. var rootNode; //根结点
11. //装载Xml文档
12. function loadXml(){
13. try{
14. xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
15. xmlDoc.async=false;//关闭异步加载
16. xmlDoc.load("XmlFile.xml");//load是从文件,loadXML是从字符串.
17. rootNode = xmlDoc.documentElement;
18. }catch(e) {alert(e.message)}
19. }
20. //显示内存中的Xml文档
21. function outXml(){
22. var divXml=document.getElementById("divXml");
23. divXml.innerHTML=xmlDoc.xml;//显示xml内容,技巧是加个xml后缀.?
24. alert(xmlDoc.xml);
25. }
26. //增
27. function addXml(){
28. //叶子结点,设置text值
29. var newName = xmlDoc.createElement("name");
30. newName.text = "crane";
31. var newGender = xmlDoc.createElement("gender");
32. newGender.text = "female";
33. //父级结点,用appendChild(childNode);
34. var newPerson = xmlDoc.createElement("person");
35. //设置属性id
36. newPerson.setAttribute("id","2");
37. newPerson.appendChild(newName);
38. newPerson.appendChild(newGender);
39. //增加到根结点
40. rootNode.appendChild(newPerson);
41. alert(xmlDoc.xml);
42. }
43. //删
44. function deleteXml(){
45. //先找到结点
46. var singleNode = xmlDoc.selectSingleNode("/root/person[name='tree']");
47. //找到父级再删除
48. singleNode.parentNode.removeChild(singleNode);
49. alert(xmlDoc.xml);
50. }
51. //改
52. function updateXml(){
53. var singleNode = xmlDoc.selectSingleNode("/root/person[name='crane']");
54. singleNode.childNodes[0].text = "updated";
55. alert(xmlDoc.xml);
56. }
57. //查
58. function queryXml(){
59. //alert(rootNode.nodeName);//节点名
60. //alert(rootNode.text);//节点里的全部内容
61. //xPath选择节点数组
62. //var nodes = xmlDoc.selectNodes("/root/person");
63. //alert(nodes[0].text);
64. //选择单个节点
65. /*总结
66. 1."/root/person[name='tree']"等同于"/root[person/name='tree']"即找出来的是person结点
67. */
68. var singleNode = xmlDoc.selectSingleNode("/root/person[gender='female']");//这里的值需要加引号
69. alert(singleNode.text);
70. alert(singleNode.getAttribute("id"));
71. //测试xpath定位
72. var sglNode = xmlDoc.selectSingleNode("/root[person/gender='male']");//这里定位不明确.再研究.
73. alert(sglNode.text);
74. //显示全部xml文档
75. //alert(xmlDoc.xml);
76. }
77.
78.// --></mce:script>
79.</head>
80.<body>
81.<div id="divXml"></div>
82.<input type="button" value="load" onclick="loadXml();" />
83.<input type="button" value="show" onclick="outXml();" />
84.<input type="button" value="add" onclick="addXml();" />
85.<input type="button" value="delete" onclick="deleteXml();" />
86.<input type="button" value="update" onclick="updateXml();" />
87.<input type="button" value="query" onclick="queryXml();" />
88.</body>
89.</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>js操作Xml增删改查(IE下)</title>
<mce:script type="text/javascript"><!--
/*等解决的问题:
1.xpath到底是定位到哪一层,怎样定位到比如root这一级还是person或name这一级.
*/
var xmlDoc;
var rootNode; //根结点
//装载Xml文档
function loadXml(){
try{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;//关闭异步加载
xmlDoc.load("XmlFile.xml");//load是从文件,loadXML是从字符串.
rootNode = xmlDoc.documentElement;
}catch(e) {alert(e.message)}
}
//显示内存中的Xml文档
function outXml(){
var divXml=document.getElementById("divXml");
divXml.innerHTML=xmlDoc.xml;//显示xml内容,技巧是加个xml后缀.?
alert(xmlDoc.xml);
}
//增
function addXml(){
//叶子结点,设置text值
var newName = xmlDoc.createElement("name");
newName.text = "crane";
var newGender = xmlDoc.createElement("gender");
newGender.text = "female";
//父级结点,用appendChild(childNode);
var newPerson = xmlDoc.createElement("person");
//设置属性id
newPerson.setAttribute("id","2");
newPerson.appendChild(newName);
newPerson.appendChild(newGender);
//增加到根结点
rootNode.appendChild(newPerson);
alert(xmlDoc.xml);
}
//删
function deleteXml(){
//先找到结点
var singleNode = xmlDoc.selectSingleNode("/root/person[name='tree']");
//找到父级再删除
singleNode.parentNode.removeChild(singleNode);
alert(xmlDoc.xml);
}
//改
function updateXml(){
var singleNode = xmlDoc.selectSingleNode("/root/person[name='crane']");
singleNode.childNodes[0].text = "updated";
alert(xmlDoc.xml);
}
//查
function queryXml(){
//alert(rootNode.nodeName);//节点名
//alert(rootNode.text);//节点里的全部内容
//xPath选择节点数组
//var nodes = xmlDoc.selectNodes("/root/person");
//alert(nodes[0].text);
//选择单个节点
/*总结
1."/root/person[name='tree']"等同于"/root[person/name='tree']"即找出来的是person结点
*/
var singleNode = xmlDoc.selectSingleNode("/root/person[gender='female']");//这里的值需要加引号
alert(singleNode.text);
alert(singleNode.getAttribute("id"));
//测试xpath定位
var sglNode = xmlDoc.selectSingleNode("/root[person/gender='male']");//这里定位不明确.再研究.
alert(sglNode.text);
//alert(xmlDoc.xml);
}
// --></mce:script>
</head>
<body>
<div id="divXml"></div>
<input type="button" value="load" onclick="loadXml();" />
<input type="button" value="show" onclick="outXml();" />
<input type="button" value="add" onclick="addXml();" />
<input type="button" value="delete" onclick="deleteXml();" />
<input type="button" value="update" onclick="updateXml();" />
<input type="button" value="query" onclick="queryXml();" />
</body>
</html>
Xml文件:
view plaincopy to clipboardprint?
01.<?xml version="1.0" encoding="utf-8" ?>
02.<root>
03. <person id="1">
04. <name>tree</name>
05. <gender>male</gender>
06. </person>
07.</root>
分享到:
相关推荐
html文件: 代码如下: <!DOCTYPE html PUBLIC ... <head> <title>js操作Xml增删改查(IE下)</title> [removed]<!– /*等解决的问题: 1.xpath到底是定位到哪一层,怎样定位到比如root这一级还是p
总结:AJAX技术为Web开发提供了强大的功能,通过理解和实践,初学者可以逐步掌握如何利用AJAX实现实时、无刷新的交互体验,特别是单表增删改查这样的常见业务场景。提供的源码实例是一个很好的起点,通过深入研究和...
在本"Ajax实现增删改查的demo"中,我们将探讨如何利用Ajax技术来实现数据库数据的基本操作:增加(Add)、删除(Delete)、修改(Update)和查询(Query)。 **一、Ajax的基础原理** 1. **创建XMLHttpRequest对象*...
总之,JavaScript提供了丰富的API来操作XML,这使得在前端实现对XML文件的增删改查成为可能。然而,由于跨域限制,直接在浏览器环境中读写本地文件可能需要借助Web存储、File API或服务器端支持。了解并熟练运用这些...
本资源提供了一个利用Ajax实现增删改查、分页和级联功能的代码示例,适用于各种主流浏览器,包括IE、Firefox和Opera。 增删改查是数据库操作的基本功能,对应于数据库中的INSERT、DELETE、UPDATE和SELECT操作。在...
本篇文章主要介绍了在HTA环境中,如何使用JavaScript进行XML文件的增删改查操作。首先,文章指出在进行这些操作时,需要将HTML代码保存为hta后缀,否则在尝试对XML文件进行操作时会出现权限不足的提示。接着,文章...
在JavaScript中,DOM接口允许对XML节点进行增删改查,从而实现对XML数据的动态处理。 浏览器内核是实现XML解析和JavaScript执行的关键部分。以下是三种主要的浏览器内核: 1. **Trident内核**:主要用于Internet ...
Document Object Model (DOM)是HTML和XML文档的结构表示,JavaScript可以通过DOM API来操作页面元素,比如增删改查。 9. **闭包** 闭包是JavaScript中的一个重要概念,它可以访问并操作函数外部的变量,即使该...
通过DOM,可以动态修改页面内容,实现元素的增删改查,实现界面的实时更新。 7. **开发者工具**:IE提供了内置的开发者工具,可以帮助开发者和测试人员调试JavaScript代码,查看网络请求,检查和修改DOM结构,这...
6. **DOM操作**:通过JavaScript操作HTML元素,如增删改查、事件绑定、样式修改等。 7. **AJAX与Fetch API**:实现页面无刷新的数据交换,提升用户体验。 **CSS中文完全参考手册** 层叠样式表(CSS)用于描述HTML或...
通过JavaScript操作DOM,可以实现对网页元素的增删改查,从而实现DHTML的效果。 五、DHTML的应用场景 1. 动态内容更新:无需刷新页面即可显示实时信息,如天气预报、股票报价。 2. 滚动文字或图片:实现滚动条、...
在多页面文字显示中,我们需要找到存储文字的元素,如`<p>`或`<div>`,并进行增删改查。 2. **事件监听**:JavaScript的事件监听机制是实现动态效果的关键。可以使用`addEventListener`或`attachEvent`(IE浏览器)...
例如,`document.getElementById()`、`document.querySelector()` 和 `document.querySelectorAll()` 方法可以帮助我们找到特定的DOM元素,而`appendChild()`、`removeChild()`等方法则可以实现元素的增删。...
DOM(Document Object Model)是HTML和XML文档的一种结构化表示,通过JavaScript我们可以方便地对页面元素进行增删改查。在这个项目中,我们可能需要获取页面上的特定元素,如按钮、表单或链接,然后为它们添加事件...
在JavaScript中,AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许网页在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。本文将深入探讨如何使用原生JavaScript来封装一个...
1. **DOM操作**:JavaScript通过DOM来动态修改HTML元素,实现菜单项的增删改查。例如,当鼠标悬停在菜单项上时,可能会添加或改变CSS类以显示下拉子菜单。 2. **事件监听**:使用`addEventListener`或`attachEvent`...
DOM编程的核心在于理解和熟练掌握文档树的增删改查操作,以及如何使用JavaScript内置函数和数据结构(如数组、对象)来辅助处理DOM操作中的数据和逻辑。通过上述介绍,我们可以看到,DOM提供了丰富的API来帮助开发者...
在DHTML中,JavaScript通过DOM接口操作网页元素,如增删改查元素、改变元素属性、监听事件等,实现动态交互。 4. **JavaScript** JavaScript是实现DHTML的核心脚本语言,它在浏览器端运行,为HTML元素添加行为。...