`
rainer
  • 浏览: 23941 次
  • 性别: Icon_minigender_1
  • 来自: 湖北荆州
最近访客 更多访客>>
社区版块
存档分类
最新评论

用javascript对Xml文件进行操作

阅读更多

最近由于工作的要求,需要用javascript对xml文件进行操作,虽说比较麻烦,但基本还是可以实现,现将初稿贴出来,希望大家能够提出保贵的意见:

要操作的文件dept.xml

js 代码
  1. <!---->"1.0" encoding="utf-8"?>   
  2. <message></message>  
  3.     <country></country>   
  4.         "China" Chinese="中国"/>   
  5.         "Afghanistan" Chinese="阿富汗"/>   
  6.         "Albania" Chinese="阿尔巴尼亚"/>   
  7.         "Algeria" Chinese="阿尔及利亚"/>   
  8.         "Andorra" Chinese="安道尔"/>   
  9.        
  10.   

对XML文件操作的javascript代码:

js 代码
  1. <script language=< span="">"javascript" runat="server">   
  2.     var objxml = "";   
  3.     var doxml = {   
  4.         initXml : function(url){   
  5.             objxml = Server.CreateObject("Msxml2.DOMDocument");   
  6.             objxml.load(Server.MapPath(url));   
  7.         },   
  8.         addXml : function(num,attributename,attributetext){   
  9.             var docxml = objxml.selectSingleNode("message");   
  10.             var newNode = docxml.childNodes.item(num);   
  11.             var newNodeChild = objxml.createElement("list");   
  12.             for(var i=0;i<attributename.length;i++){   <="" span="">
  13.                 newNodeChild.setAttribute(attributename[i],attributename[i]);   
  14.             }   
  15.             newNode.appendChild(newNodeChild);                 
  16.         },   
  17.         deleteXml : function(num,attribuename,attributetext){   
  18.             var docxml = objxml.selectSingleNode("message");   
  19.             var delNode = docxml.childNodes.item(num);   
  20.             var delChilds = delNode.childNodes;   
  21.             for(var i = 0; i<delchilds.length;i++){   <="" span="">
  22.                 if(delChilds[i].getAttribute(attribuename) == attributetext) delNode.removeChild(delChilds[i]);   
  23.             }   
  24.         },   
  25.         updateXml : function(num,attribuename1,attribuetext1,attribuename2,attribuetext2){   
  26.             var docxml = objxml.selectSingleNode("message");   
  27.             var updNode = docxml.childNodes.item(num);   
  28.             var delChilds = updNode.childNodes;   
  29.             for(var i=0;i<delchilds.length;i++){   <="" span="">
  30.                 if(delChilds[i].getAttribute(attribuename1) == attribuetext1)   
  31.                     delChilds[i].setAttribute(attribuename2,attribuetext2)   
  32.             }   
  33.         },   
  34.         selectXml : function(num,attribuename1,attribuetext1,attribuename){   
  35.             var docxml = objxml.selectSingleNode("message");   
  36.             var selNode = docxml.childNodes.item(num);   
  37.             var delChilds = selNode.childNodes;   
  38.             for(var i=0;i<delchilds.length;i++){   <="" span="">
  39.                 if(delChilds[i].getAttribute(attribuename1) == attribuetext1)   
  40.                     Response.Write(delChilds[i].getAttribute(attribuename));   
  41.             }   
  42.         },   
  43.         saveXml : function(){   
  44.             objxml.save(Server.MapPath("dept.xml"));   
  45.         },   
  46.         closeXml : function(){   
  47.             objxml = null;   
  48.         }   
  49.     }      
  50.     var act = Request.QueryString("way");   
  51.        
  52.     function trim(str){   
  53.         var temp = "";   
  54.         str = '' + str;   
  55.         splitstr = str.split(" ");   
  56.         for(i = 0; i < splitstr.length; i++)   
  57.         temp += splitstr[i];   
  58.         return temp;   
  59.     }      
  60.     switch(trim(act)){   
  61.         case "add" : {             
  62.             doxml.initXml("dept.xml");             
  63.             var num = parseInt(Request.QueryString("num"));   
  64.             var temp = (Request.QueryString("name"));   
  65.             var text = (Request.QueryString("text"));   
  66.             var attribuename = new Array();   
  67.             var attribuetext = new Array();   
  68.                    
  69.                 attribuename = String(temp).split(",");   
  70.                 attribuetext = String(text).split(",");   
  71.                
  72.             var attribuetext = (Request.QueryString("text"));   
  73.             doxml.addXml(num,attribuename,attribuetext);   
  74.             doxml.saveXml();   
  75.             doxml.closeXml();   
  76.         }   
  77.         break;   
  78.         case "delete" : {   
  79.             doxml.initXml("dept.xml");                 
  80.             var num = parseInt(Request.QueryString("num"));   
  81.             var attribuename = Request.QueryString("name");   
  82.             var attribuetext = Request.QueryString("text");   
  83.             //var attribuename = new Array();   
  84.             //var attribuetext = new Array();                  
  85.                 //attribuename = String(temp).split(",");   
  86.                 //attribuetext = String(text).split(",");   
  87.             doxml.deleteXml(num,attribuename,attribuetext);   
  88.             doxml.saveXml();   
  89.             doxml.closeXml();          
  90.         }   
  91.         break;   
  92.         case "update" : {   
  93.             doxml.initXml("dept.xml");   
  94.                
  95.             var num = parseInt(Request.QueryString("num"));   
  96.             var attribuename1 = Request.QueryString("name1");   
  97.             var attribuetext1 = Request.QueryString("text1");   
  98.             var attribuename2 = Request.QueryString("name2");   
  99.             var attribuetext2 = Request.QueryString("text2");   
  100.             doxml.updateXml(num,attribuename1,attribuetext1,attribuename2,attribuetext2);   
  101.             doxml.saveXml();   
  102.             doxml.closeXml();   
  103.         }   
  104.         break;   
  105.         case "select" : {   
  106.             doxml.initXml("dept.xml");   
  107.                
  108.                
  109.             doxml.saveXml();   
  110.             doxml.closeXml();   
  111.         }   
  112.         break;   
  113.     }   
  114.        
  115.        
  116.        
  117.        
  118. </script>  

 

分享到:
评论

相关推荐

    javascript操作xml文件示例

    下面将详细介绍如何使用JavaScript进行XML文件的操作,主要包括增加、删除、修改和查询。 1. **加载XML文件** 在JavaScript中,我们可以使用`XMLHttpRequest`对象或者`fetch` API来加载XML文件。例如: ```...

    使用javascript遍历XML文件并显示

    这篇博客“使用javascript遍历XML文件并显示”探讨了如何利用JavaScript对XML文件进行读取和遍历,并将内容呈现在网页上。 首先,我们需要理解XML的基本概念。XML是一种自描述的、结构化的数据格式,用于存储和传输...

    javascript读写XML文件

    利用JavaScript进行XML文件的读写操作,可以极大地增强前端页面的动态性和交互性。下面,我们将深入探讨如何使用JavaScript来读取和写入XML文件,包括关键知识点和实际代码示例。 #### 创建和加载XML文档 在...

    javascript 对xml文件解析

    ### JavaScript 对 XML 文件解析知识点详解 #### 一、XML 文件解析背景及意义 XML(Extensible Markup Language,可扩展标记语言)是一种用于标记数据的语言,主要用于传输和存储数据。在 Web 开发中,XML 常被...

    使用javascript解析xml文件或xml格式字符串中文WORD版

    javascript中,不论是解析xml文件,还是xml格式的字符串,都是通过DOM对象来进行操作的。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看   资源截图: 资源太大,传百度网盘了,链接...

    javascript 对xml文件的增删改

    将JavaScript与XML结合,我们可以实现对XML文件的读取、修改、添加和删除等操作。下面将详细探讨如何使用JavaScript处理XML文件。 1. **创建XML对象**: 在JavaScript中,我们可以使用`ActiveXObject`(在IE浏览器...

    javascript读取XML文件方法

    本文将详细介绍如何使用JavaScript来读取XML文件,并进行相应的数据处理。 #### 二、JavaScript与XML的基本操作 ##### 1. 创建DOMDocument对象 在使用JavaScript处理XML之前,我们需要先创建一个`DOMDocument`对象...

    Javascript读取xml文件

    - **使用`XMLDocument`对象**:一旦XML文件被加载到内存中,就可以通过`XMLDocument`对象进行访问和操作。 - **节点类型**:理解XML文档中的不同节点类型(如元素节点、文本节点、属性节点等)对于有效处理XML至关...

    Javascript操作XML和HTML

    例如,使用`XMLHttpRequest`对象可以异步加载XML文件,然后通过`document.createElement`、`node.appendChild`等方法解析和操作XML数据。 ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'data....

    xml.rar_javascript_javascript xml_xml javascript_xml文件

    标题"xml.rar_javascript_javascript xml_xml javascript_xml文件"暗示了我们关注的重点是如何使用JavaScript来解析和操作XML。以下是一些关键知识点: 1. **创建XML对象**: JavaScript中,可以通过`...

    读写XML文件实例 Javascript

    总结来说,Node.js结合`xml2js`库提供了强大且灵活的XML处理能力,使JavaScript开发者能够轻松地在服务器端进行XML文件的读写操作。通过理解这一实例,你可以更好地掌握在Node.js环境中使用JavaScript处理XML的技巧...

    JavaScript读取xml文件内容.zip

    本文将深入探讨如何使用JavaScript处理XML文件,包括解析XML、访问XML节点以及展示XML数据。 首先,我们需要了解XML(Extensible Markup Language)是一种标记语言,常用于传输和存储数据。它的结构清晰,易于人...

    JavaScript获取XML文件的数据

    本文将深入探讨如何使用JavaScript来解析和操作XML文件,以便从中提取所需的信息。 首先,我们需要理解XML(Extensible Markup Language)是一种标记语言,它用于存储和传输结构化数据。XML文件通常用于在应用程序...

    javascript解析xml文件

    在JavaScript中解析XML文件是一项常见的任务,特别是在网页开发中,我们可能需要将XML数据转换为HTML以便更好地展示或处理。JavaScript提供了DOMParser API和ActiveXObject(仅限于Internet Explorer)来解析XML。...

    Javascript解析服务器端XML文件

    以下是一个基本的示例,展示了如何使用JavaScript加载XML文件并进行解析: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'server_side_menu.xml', true); xhr.onreadystatechange = function() ...

    javascript读取xml文件

    当需要在JavaScript中处理XML文件时,可以利用浏览器提供的DOM(Document Object Model)解析器或者Ajax(异步JavaScript和XML)技术来实现。以下是一些关于如何在JavaScript中读取XML文件的关键知识点: 1. **DOM...

    js解析XML文件

    使用 JavaScript 我们可以加载和保存 XML 文件,包括从文件中加载 XML 文件和将 XML 文件保存到文件中。 浏览器兼容性 在使用 JavaScript 解析 XML 文件时,需要考虑浏览器兼容性问题。不同的浏览器有不同的实现...

    javascript 操作xml的所有属性事件方法和实例

    假设我们有以下XML文件: ```xml &lt;name&gt;John Doe &lt;age&gt;30 &lt;name&gt;Jane Smith &lt;age&gt;28 ``` 我们可以使用JavaScript解析并显示员工信息: ```javascript var xmlDoc = parser.parseFromString(xml...

    JavaScript解析XML文件,在网页上以目录树的形式显示

    综上所述,要完成“JavaScript解析XML文件并在网页上以目录树形式显示”的任务,你需要理解XML的基本概念,熟悉JavaScript的DOM操作,掌握XML数据的解析方法,以及如何将XML数据转换为HTML结构,并通过CSS和...

    javascript对xml的处理

    JavaScript对XML(eXtensible Markup Language)的处理是Web开发中的一个重要方面,尤其是在与服务器进行数据交互时。XML是一种结构化数据格式,常用于存储和传输数据,而JavaScript作为客户端脚本语言,能帮助我们...

Global site tag (gtag.js) - Google Analytics