由于一些浏览器在处理XML数据时不忽略数据的前空格,所以在处理前要去掉这些空格。
- function removeWhitespace(xml)
- {
- var loopIndex;
- for (loopIndex = 0; loopIndex < xml.childNodes.length;
- loopIndex++) {
- var currentNode = xml.childNodes[loopIndex];
- if (currentNode.nodeType == 1) {
- removeWhitespace(currentNode);
- }
- if (((/^/s+$/.test(currentNode.nodeValue))) &&
- (currentNode.nodeType == 3)) {
- xml.removeChild(xml.childNodes[loopIndex--]);
- }
- }
- }
- var mozillaFlag = false;
- var XMLHttpRequestObject = false;
- if (window.XMLHttpRequest) {
- XMLHttpRequestObject = new XMLHttpRequest();
- mozillaFlag = true;
- } else if (window.ActiveXObject) {
- XMLHttpRequestObject = new
- ActiveXObject("Microsoft.XMLHTTP");
- }
- if(XMLHttpRequestObject) {
- XMLHttpRequestObject.open("GET", "event.xml", true);
- XMLHttpRequestObject.onreadystatechange = function()
- {
- if (XMLHttpRequestObject.readyState == 4 &
- XMLHttpRequestObject.status == 200) {
- var xmlDocument = XMLHttpRequestObject.responseXML;
- if(mozillaFlag){
- removeWhitespace(xmlDocument);
- }
- displayThirdGuest(xmlDocument);
- }
- }
- XMLHttpRequestObject.send(null);
- }