IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

javascript对XML的读写操作

Vimer 2010-04-14 09:20:09 累计浏览 3,077 次
本机暂存

最近真的杯具了,完全陷入了写前台的恶性循环,倒是CGI的代码都没怎么动过……
好吧,不废话了,业务那边要求配置文件可视化配置,而配置文件是xml格式的。

所以js必须能做到对XML文件的读和写。

先贴上XML文件如下:

<?xml version="1.0"?>
<data>
   <fonts src="swfs/fonts.swf">
      <font id="headers" name="AvantGardeGothicDemi"/>
      <font id="normal" name="FranklinGothicMedium"/>
   </fonts>
   <assets domain="">
      <asset id="12345" src="assets/swfs/crop1.swf"/>
      <asset id="12344" src="assets/images/diy1.jpg"/>
   </assets>
   <dishes>
      <dish id="1" name="四川泡菜" co="1" ep="1.00" assetId="12345"/>
   </dishes>
</data>

需要做的就是找到assets节点,然后根据后台实现对其子节点列表的编辑操作。

在这里需要确认一下,因为IE和FF对XML的支持并不相同,所以这里使用了一个函数来实现生成xmldoc对象,这几个函数也是网上找的,只是由于已经不知道作者,来这里下载。

首先来看一下读取:

var xmlDoc = _loadXmlString(xmlstr);
if(xmlDoc == null)
{    
   alert("error");
   return;
}    
var assEle = xmlDoc.documentElement.getElementsByTagName('assets');
if (assEle.length <= 0){
   return;
}    
var assNodes = assEle[0].getElementsByTagName('asset');
for (var index = 0; index < assNodes.length; index++ )
{    
   var assNode = assNodes[index];
   //alert(assNode.getAttribute('id'));
   var row = '<tr id="rest_tr_'+index+'" tag="'+index+'">';
   row += '<td id="rest_mediaid_'+index+'" >'+assNode.getAttribute('id')+'</td>';
   row += '<td id="rest_xdpath_'+index+'" >'+assNode.getAttribute('src')+'</td>';
   row += '<td><input type="button" id="delBtn_'+index+'" value="

同分类推荐文章

  1. translateZ() (2026-06-25 21:18:56)
  2. translateY() (2026-06-25 21:17:56)
  3. translateX() (2026-06-25 21:16:01)

查看更多 前端 文章 →

建议继续学习

  1. JQuery实现Excel表格呈现 (累计阅读 48,350)
  2. 深入理解Javascript之执行上下文(Execution Context) (累计阅读 18,404)
  3. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  4. 图片动态局部毛玻璃模糊效果的实现 (累计阅读 14,849)
  5. 天朝第二代身份证号码的验证机制 (累计阅读 14,762)
  6. HTML 5 的data-* 自定义属性 (累计阅读 14,349)
  7. 分享一个JQUERY颜色选择插件 (累计阅读 14,223)
  8. 什么是全栈工程师? (累计阅读 14,038)
  9. 快速排序(Quicksort)的Javascript实现 (累计阅读 11,735)
  10. 7 天打造前端性能监控系统 (累计阅读 11,187)