/****************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;
}
分享到:
相关推荐
在IE和Firefox中,创建XML文档的方法有所不同。IE提供了ActiveXObject,可以创建XMLDOM对象,如`new ActiveXObject("MSXML2.DOMDocument")`,而Firefox和其他遵循W3C标准的浏览器则使用`document.implementation....
本文将深入探讨如何使用jQuery在Internet Explorer(IE)和Firefox这两个主要浏览器中创建XML,以及相关的JavaScript(js)技术。 首先,我们需要理解XML(eXtensible Markup Language),它是一种用于存储和传输...
综上所述,"JS+XML 省市区三级联动 支持ie,firefox,Opera"这个项目旨在提供一个跨浏览器的解决方案,利用JavaScript和XML技术实现在网页上创建一个交互式的省市区选择器。这个方案不仅可以提高用户体验,还能适应...
"Javascript的IE和Firefox兼容性"则涉及到JavaScript在不同浏览器中的行为一致性问题。Internet Explorer(IE)和Mozilla Firefox是两个历史悠久且具有广泛用户基础的浏览器,它们对JavaScript的支持存在差异,尤其...
以下将详细介绍如何使用JavaScript操作XML文件,并确保在Firefox和IE之间具有良好的兼容性。 1. 创建XMLHttpRequest对象 在JavaScript中,XMLHttpRequest对象是与服务器进行异步通信的主要工具。对于IE5和6,我们...
// 对于非IE浏览器(例如Chrome, Firefox) if (window.DOMParser) { var xmlDoc = new DOMParser().parseFromString("", "text/xml"); } ``` ##### 2. 加载XML文件或字符串 创建了DOMDocument对象后,我们可以...
标题 "JS + XML 联动菜单 支持IE、FireFox" 描述了一种使用JavaScript(JS)和XML技术实现的跨浏览器联动菜单。这种菜单通常在网页中用于下拉选择,例如省市县的选择,其中一项的选择会动态更新下一级菜单的内容。...
本文将详细探讨如何在JavaScript中操作XML文件,并确保代码在Firefox和IE之间具有良好的兼容性。 1. **创建XML对象**: 在JavaScript中,可以使用`ActiveXObject`(仅适用于IE)或`DOMParser`(通用方法)来创建...
6. **浏览器兼容性**:示例代码使用了ActiveXObject,这是Internet Explorer特有的,对于其他浏览器如Firefox、Chrome、Safari等,需要使用`XMLHttpRequest`的非IE实现。在现代JavaScript开发中,通常会使用`fetch` ...
这个场景下,我们关注的重点是如何在不依赖用户权限提示的情况下,使用JS在Internet Explorer(IE)和Firefox这两个浏览器中读取XML文件。本文将详细介绍实现这一功能的技术要点。 首先,我们需要了解...
这个压缩包“js ie firefox 日历控件多多”显然包含了一系列适用于Internet Explorer(IE)、Firefox等浏览器的JavaScript日历插件或者库。下面我们将深入探讨JavaScript日历控件的相关知识点,并结合不同浏览器的...
在JavaScript中,可以通过DOMParser对象解析XML字符串,如Firefox等非IE内核浏览器使用`DOMParser.parseFromString()`方法;而IE内核浏览器则使用ActiveXObject创建`Msxml2.DOMDocument`实例,通过`loadXML()`方法...
2. **创建 XML 解析对象**:根据浏览器类型创建不同的 XML 解析对象。 3. **加载并解析 XML**:使用 `loadXML()` 方法或 `parseFromString()` 方法加载 XML 字符串并解析。 4. **验证 XML 是否有误**:检查解析后的 ...
- 所有现代浏览器(如IE、Firefox、Chrome、Safari等)都内置了XML解析器,用于将XML文档转换为可被JavaScript访问的DOM(Document Object Model)对象。 - 微软的XML解析器(如ActiveXObject("Microsoft.XMLDOM")...
"JS导入导出Excel 兼容IE、Firefox、Chrome等浏览器"这一技术主题,聚焦于如何使用JavaScript(JS)在各种浏览器环境下处理Excel文件,包括古老的Internet Explorer(IE)、Firefox以及Chrome。下面我们将深入探讨这...
由于IE本身缺乏像Firefox那样丰富的开发者工具和插件支持,这使得开发者往往需要采用一些更为繁琐的方式来调试代码,例如通过频繁添加`alert`语句来检查变量值或执行路径。这种方式不仅效率低下,还可能引入新的问题...
总之,创建一个兼容IE7和Firefox的JavaScript消息提示框需要深入理解JavaScript核心,DOM操作,浏览器兼容性,以及CSS样式设计。通过不断实践和学习,你可以掌握这些技能并成功实现类似的功能。
标题所提及的"兼容Firefox的Javascript XSLT处理XML文件"问题,主要是由于Firefox不支持IE中的ActiveXObject,因此需要使用不同的方法来实现XML和XSLT的转换。描述中提到了两种在Firefox中处理XML的主要方法,即`...
1. **DOMParser API**:这是W3C标准的一部分,适用于所有现代浏览器,包括Chrome、Firefox、Safari和Edge等。我们可以创建一个DOMParser实例,然后使用`parseFromString()`方法解析XML字符串。 ```javascript let ...