AJAXLib v. 1.0

// AJAXLib v. 1.0
// author: Jacek Karaszewski, http://www.karaszewski.com/tools/ajaxlib/
// licenced under Creative Commons Attribution 2.5 License

// public

// function loadXMLDoc(xml_url, function_name, ignore_white)
function loadXMLDoc(url, callFunc, ignoreWhite) {
 functionToCall = callFunc;
 stripWS = ignoreWhite;
 xmlRequestObj = window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP")
 xmlRequestObj.onreadystatechange = proccessXML;
 xmlRequestObj.open("GET", url, true);
 xmlRequestObj.send(null);
}


// private

function is_ws(nod) {
 return !(/[^\t\n\r ]/.test(nod.data));
}

function findWhiteSpace(node, nodeNo) {
 for (i=0; i<node.childNodes.length; i++) {
  if (node.childNodes[i].nodeType == 3 && is_ws(node.childNodes[i])) {
   nodesToDelete[nodesToDelete.length] = node.childNodes[i]
  }
  if (node.childNodes[i].hasChildNodes()) {
   findWhiteSpace(node.childNodes[i], i);
  }
 }
 node = node.parentNode;
 i = nodeNo;
}

function stripWhiteSpace(node) {
 nodesToDelete = Array();
 findWhiteSpace(node, 0);
 for(i=nodesToDelete.length-1;i>=0;i--) {
  nodeRef = nodesToDelete[i];
  nodeRef.parentNode.removeChild(nodeRef)
 }
}

function proccessXML() {
 if (xmlRequestObj.readyState == 4 && (xmlRequestObj.status == 200 || xmlRequestObj.status == 304)) {
  if(stripWS) {
   stripWhiteSpace(xmlRequestObj.responseXML);
  }
  resultXML = xmlRequestObj.responseXML;
  functionToCall()
 }
}

你可能感兴趣的:(xml,Microsoft)