ext2.0 的XMLWriter

做ext相关的一个example项目,把我们的客户端移植成ext2.0的,由于服务器接收的不是JSON数据而是dom,所以我们需要把我们的ajax请求格式对应成服务器支持的格式
查了下ext2.0的API,发现只有XMLReader,所以和同事手写XMLWriter
/**
 * @author B.Chen
 */
function store2xml(store, xml){
 store.load();
 var array = new Array();
 var old_nodes = xml.documentElement.childNodes;
 var old_firstNodes = old_nodes[0];
 var attributes = old_firstNodes.attributes;
 for(var i=0;i<attributes.length;i++) {
  array[i] = attributes[i].name;
 }
 
 var xmlDoc = createXmlDoc(store);
 var new_nodes = xmlDoc.documentElement.childNodes;
 for(var i=0;i<store.getCount();i++) {
  var record = store.getAt(i);
  for(var j=0;j<array.length;j++) {
   new_nodes[i].setAttribute(array[j],record.get(array[j]));
  }
 }
 return xmlDoc;
}

function createXmlDoc(store){
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
    var xmlString = "";
    var root = "<data>";
    var end_root = "</data>";
    var child = "<row>"
    var end_child = "</row>";
    var tab = "\t";
    var nextLine = "\n";
    xmlString += root + nextLine;
    for (var i = 0; i < store.getCount(); i++) {
        xmlString += tab + child + nextLine;
        xmlString += tab + end_child + nextLine;
    }
    xmlString += end_root;
    xmlDoc.loadXML(xmlString)
 return xmlDoc;
}


这个项目从开始接触ext2.0到做好example,用了22天,aptana这个东西不太好用。
做好后被客户否决了。。。。。。。汗==|||
主要是ext2.0需要import的js类库太大。
页面加载的时候容易造成IE假死
有lazyrender经验的朋友多指点。。。
还有感觉ext2.0虽然华丽,但是做网站的话访问速度。。。估计会很慢,企业局域网应用可以考虑一下

你可能感兴趣的:(Ajax,IE,ext,企业应用,aptana)