xml在线编辑开发

本文介绍了XML在线编辑的实现过程,包括从数据库获取XML字符串,转化为页面模型并展示,以及用户修改后的保存和更新。文章还涉及XML到HTML的转换、模型到HTML的渲染,以及ActiveXObject的使用来处理XML。同时,文中提到了使用VML进行矢量图形绘制,但指出VML仅在IE浏览器中支持,与SVG和GML进行了一定的比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 设计:从db中取得xml字符串, 在页面端对其进行分析放到js对象(model)中,然后在页面显示

2 页面加载:xml-->model

   显示:model-->html

   修改:在html上修改,保存修改 html-->model,更新Dom model-->xml

   页面加载:

   var xmlString='<%=(String)request.getAttribute("XML_STRING")%>';
   getDomObject();
   getXML();        

   

    var prefixes = ["MSXML2.DomDocument", "Microsoft.XMLDOM", "MSXML.DomDocument",   "MSXML3.DomDocument"];
   function getDomObject(){
       for (var i = 0; i < prefixes.length; i++) {
          try{rootDoc = new ActiveXObject(prefixes[i]);}catch(ex){};
       }
   }
   function getXML(){
      isXmlReady=false;
      //rootDoc.async = false;
      rootDoc.loadXML(xmlString);
   }

 

  

4 xml-->model 在页面body加载完成之后

   var processDef = getNodeProcessDef();
   var activitesArray = getActivityArray();
   var transitionArray = getTransitionArray();

  

   var node = rootDoc.selectSingleNode("//processDefinition"); //获得节点

   node .getAttribute("processName");        //属性

   //可以在path里指定参数

   rootDoc.selectSingleNode("//processActivity[@activityId='xxx']/activityProcessId").text;

 

5 model-->html

   var newRow = activityTableBody.insertRow();

   var newCell = newRow.insertCell(0);

   newCell.setAttribute("align","center");//设置<td>节点属性

   newCell.innerHTML='xxxxxx..........';

 

 6 小知识:

   //模态对话框 可以在第二个参数里传递对象 

   window.showModalDialog("editActivity.jsp?index="+index, window, "resizable:yes;help:no;center:yes;dialogHeight:400px;dialogWidth:600px");

   //取得参数

   var parentWindow = window.dialogArguments;

 

7 使用 vml在线绘图。(The Vector Markup Language(矢量可标记语言))

   http://www.itlearner.com/code/vml/ 

   什么是vml? VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果

   在VML中使用两个基本的元素:shape和group。

   这两个元素定义了VML的全部结构;shape描述一个矢量图形元素,而group用来将这些图形结合起来,这样它们可以作为一个整体进行处理

   vml预定义得图形元素: Shape|Path|Line|Polyline|Curve|Rect|Roundrect|Oval|Arc|Group

由文本构成的图像,并可集成到HTML

   VML的功能不只是绘图,他还可以在图形中嵌入文本,并可实现超链,还可通过脚本语言实现一定的动画功能

  VML 在firefox下是不被支持的,只能在IE浏览器或以IE为内核的浏览器才能用VML.

   GML VML SVG比较:

   GML(Geography Markup Language)是基于XML的空间信息编码标准,运用GML,封装的地理数据和图形解释是清楚分离的.

   SVG(Scalable Vector Graphics)SVG是一种基于XML的开放的矢量图形描述语言,SVG是对PGML和VML的一种综合

   优点:基于XML标准
          高质量的矢量图像
          由文本构成的图像

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值