`

javascript 在ie、firefox 创建xml

阅读更多
/****************AJAX ********************/
function createXML(room){
    
    //var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
   var xmlDoc;
   var moz = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') ;  
   var ie = (typeof window.ActiveXObject != 'undefined') ;  
    
   if (moz)  
   {  
	   xmlDoc = document.implementation.createDocument("", "", null); 
		var oXmlDom = document.implementation.createDocument("","",null); 
		var oRoot = oXmlDom.documentElement; 
		var testnode = document.createElement("req");
		oRoot = testnode; 
		var r2 = oXmlDom.documentElement; 
		var r2_text = document.createElement("chatRoom");
		r2=r2_text;
		
		var xs = new XMLSerializer(); 
		
		var node = document.createElement("cname"); 
		node.textContent=room.cname;

		node = document.createElement("ctype"); 
		node.textContent=room.ctype;r2.appendChild(node);
		node = document.createElement("maxUsers"); 
		node.textContent=room.maxUsers;r2.appendChild(node);
		node = document.createElement("welcomes"); 
		node.textContent=room.welcomes;r2.appendChild(node);
		node = document.createElement("description"); 
		node.textContent=room.description;r2.appendChild(node);
		node = document.createElement("status"); 
		node.textContent=room.status;r2.appendChild(node);
		node = document.createElement("startTime"); 
		node.textContent=room.startTime;r2.appendChild(node);
		node = document.createElement("closeTime"); 
		node.textContent=room.closeTime;r2.appendChild(node);
		node = document.createElement("createTime"); 
		node.textContent="";r2.appendChild(node);
		
		oRoot.appendChild(r2); 

		alert(xs.serializeToString( oRoot ));
   }  
   else if (ie)
   {  
	  var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");  
   //return xmldoc; 
   
    //xmlDoc.async=false;
    //创建两条处理指令
    var newPI=xmlDoc.createProcessingInstruction("xml","version='1.0' encoding='utf-8'");
    xmlDoc.appendChild(newPI);
    //创建根元素
    var documentElement=xmlDoc.createElement("req");
    xmlDoc.appendChild(documentElement);
    //创建CDATA
    //var newCD=xmlDoc.createCDATASection("This is a CDATASection node");
    //xmlDoc.documentElement.appendChild(newCD);

    //创建元素invoice,其子元素customer,再为customer加上属性,
    var chatRoom=xmlDoc.createElement("chatRoom");
    var id=xmlDoc.createElement("id");
    var cname=xmlDoc.createElement("cname");
    var ctype=xmlDoc.createElement("ctype");
    var maxUsers=xmlDoc.createElement("maxUsers");
    var welcomes=xmlDoc.createElement("welcomes");
    var description=xmlDoc.createElement("description");
    var status=xmlDoc.createElement("status");
    var startTime=xmlDoc.createElement("startTime");
    var closeTime=xmlDoc.createElement("closeTime");
    var createTime=xmlDoc.createElement("createTime");
    
    chatRoom.appendChild(id);
    chatRoom.appendChild(cname);
    chatRoom.appendChild(ctype);
    chatRoom.appendChild(maxUsers);
    chatRoom.appendChild(welcomes);
    chatRoom.appendChild(description);
    chatRoom.appendChild(status);
    chatRoom.appendChild(startTime);
    chatRoom.appendChild(closeTime);
    chatRoom.appendChild(createTime);

    //创建text节点,作为id元素的内容
	var idtext=xmlDoc.createTextNode(room.id);
    var nametext=xmlDoc.createTextNode(room.cname);
    var welcomestext=xmlDoc.createTextNode(room.welcomes);
    var descriptiontext=xmlDoc.createTextNode(room.description);
    var startTimetext=xmlDoc.createTextNode(room.startTime);
    var closeTimetext=xmlDoc.createTextNode(room.closeTime);
    
    id.appendChild(idtext);
    cname.appendChild(nametext);
    ctype.appendChild(xmlDoc.createTextNode("1"));    
    maxUsers.appendChild(xmlDoc.createTextNode("500"));
    welcomes.appendChild(welcomestext);
    description.appendChild(descriptiontext);
    
    status.appendChild(xmlDoc.createTextNode("1"));
    createTime.appendChild(xmlDoc.createTextNode(new Date()));
    startTime.appendChild(startTimetext);
    closeTime.appendChild(closeTimetext);
    
    xmlDoc.documentElement.appendChild(chatRoom);
   }
    return xmlDoc;
}
分享到:
评论

相关推荐

    javascript在IE和Firefox中兼容性问题

    在IE和Firefox中,创建XML文档的方法有所不同。IE提供了ActiveXObject,可以创建XMLDOM对象,如`new ActiveXObject("MSXML2.DOMDocument")`,而Firefox和其他遵循W3C标准的浏览器则使用`document.implementation....

    兼容IE,firefox jquery 创建XML

    本文将深入探讨如何使用jQuery在Internet Explorer(IE)和Firefox这两个主要浏览器中创建XML,以及相关的JavaScript(js)技术。 首先,我们需要理解XML(eXtensible Markup Language),它是一种用于存储和传输...

    JS+XML 省市区三级联动 支持ie,firefox,Opera

    综上所述,"JS+XML 省市区三级联动 支持ie,firefox,Opera"这个项目旨在提供一个跨浏览器的解决方案,利用JavaScript和XML技术实现在网页上创建一个交互式的省市区选择器。这个方案不仅可以提高用户体验,还能适应...

    DOM文档和Javascript的IE和Firefox兼容性

    "Javascript的IE和Firefox兼容性"则涉及到JavaScript在不同浏览器中的行为一致性问题。Internet Explorer(IE)和Mozilla Firefox是两个历史悠久且具有广泛用户基础的浏览器,它们对JavaScript的支持存在差异,尤其...

    JS操作XML文件,兼容火狐、IE

    以下将详细介绍如何使用JavaScript操作XML文件,并确保在Firefox和IE之间具有良好的兼容性。 1. 创建XMLHttpRequest对象 在JavaScript中,XMLHttpRequest对象是与服务器进行异步通信的主要工具。对于IE5和6,我们...

    javascript读取XML文件方法

    // 对于非IE浏览器(例如Chrome, Firefox) if (window.DOMParser) { var xmlDoc = new DOMParser().parseFromString("", "text/xml"); } ``` ##### 2. 加载XML文件或字符串 创建了DOMDocument对象后,我们可以...

    JS + XML 联动菜单 支持IE、FireFox

    标题 "JS + XML 联动菜单 支持IE、FireFox" 描述了一种使用JavaScript(JS)和XML技术实现的跨浏览器联动菜单。这种菜单通常在网页中用于下拉选择,例如省市县的选择,其中一项的选择会动态更新下一级菜单的内容。...

    js操作XML文件(兼容FF,IE)

    本文将详细探讨如何在JavaScript中操作XML文件,并确保代码在Firefox和IE之间具有良好的兼容性。 1. **创建XML对象**: 在JavaScript中,可以使用`ActiveXObject`(仅适用于IE)或`DOMParser`(通用方法)来创建...

    Javascript 操作XML类

    6. **浏览器兼容性**:示例代码使用了ActiveXObject,这是Internet Explorer特有的,对于其他浏览器如Firefox、Chrome、Safari等,需要使用`XMLHttpRequest`的非IE实现。在现代JavaScript开发中,通常会使用`fetch` ...

    JS读取本地XML(支持IE和火狐)

    这个场景下,我们关注的重点是如何在不依赖用户权限提示的情况下,使用JS在Internet Explorer(IE)和Firefox这两个浏览器中读取XML文件。本文将详细介绍实现这一功能的技术要点。 首先,我们需要了解...

    js ie firefox 日历控件多多

    这个压缩包“js ie firefox 日历控件多多”显然包含了一系列适用于Internet Explorer(IE)、Firefox等浏览器的JavaScript日历插件或者库。下面我们将深入探讨JavaScript日历控件的相关知识点,并结合不同浏览器的...

    JavaScript操作XML(js XML).doc

    在JavaScript中,可以通过DOMParser对象解析XML字符串,如Firefox等非IE内核浏览器使用`DOMParser.parseFromString()`方法;而IE内核浏览器则使用ActiveXObject创建`Msxml2.DOMDocument`实例,通过`loadXML()`方法...

    JavaScript,验证XML正确性

    2. **创建 XML 解析对象**:根据浏览器类型创建不同的 XML 解析对象。 3. **加载并解析 XML**:使用 `loadXML()` 方法或 `parseFromString()` 方法加载 XML 字符串并解析。 4. **验证 XML 是否有误**:检查解析后的 ...

    JAVASCRIPT加载XML文档及操作XML文档的方法[归类].pdf

    - 所有现代浏览器(如IE、Firefox、Chrome、Safari等)都内置了XML解析器,用于将XML文档转换为可被JavaScript访问的DOM(Document Object Model)对象。 - 微软的XML解析器(如ActiveXObject("Microsoft.XMLDOM")...

    JS导入导出Excel 兼容IE、Firefox、Chrome等浏览器

    "JS导入导出Excel 兼容IE、Firefox、Chrome等浏览器"这一技术主题,聚焦于如何使用JavaScript(JS)在各种浏览器环境下处理Excel文件,包括古老的Internet Explorer(IE)、Firefox以及Chrome。下面我们将深入探讨这...

    IE中调试javascript

    由于IE本身缺乏像Firefox那样丰富的开发者工具和插件支持,这使得开发者往往需要采用一些更为繁琐的方式来调试代码,例如通过频繁添加`alert`语句来检查变量值或执行路径。这种方式不仅效率低下,还可能引入新的问题...

    用javascript作类似于QQ用户上线的消息提示框,兼容IE7,firefox.rar

    总之,创建一个兼容IE7和Firefox的JavaScript消息提示框需要深入理解JavaScript核心,DOM操作,浏览器兼容性,以及CSS样式设计。通过不断实践和学习,你可以掌握这些技能并成功实现类似的功能。

    兼容Firefox的Javascript XSLT 处理XML文件

    标题所提及的"兼容Firefox的Javascript XSLT处理XML文件"问题,主要是由于Firefox不支持IE中的ActiveXObject,因此需要使用不同的方法来实现XML和XSLT的转换。描述中提到了两种在Firefox中处理XML的主要方法,即`...

    javascript解析xml文件

    1. **DOMParser API**:这是W3C标准的一部分,适用于所有现代浏览器,包括Chrome、Firefox、Safari和Edge等。我们可以创建一个DOMParser实例,然后使用`parseFromString()`方法解析XML字符串。 ```javascript let ...

Global site tag (gtag.js) - Google Analytics