作者共发了6篇帖子。 内容转换:不转换▼
 
点击 回复
640 5
【JavaScript】JavaScript将XML对象转换为XML字符串
218.89.43.*
1楼 发表于:2011-3-19 19:30
书上讲解了怎样将xml字符串转换为xml对象,还讲了怎样创建节点、修改节点和删除节点等等,但就是没有讲怎样将XML对象转换为XML字符串,这样就导致了“创建节点、修改节点和删除节点”没有用处!(废话,这些操作都只在内存进行,js又不能保存xml到服务器上)
218.89.43.*
2楼 发表于:2011-3-19 19:31

这里有一种办法,就是把修改好的xml对象转换成字符串,然后用ajax发送给服务器端程序(比如php),再由服务器端程序保存xml。

 

废话少说,看标题“将XML对象转换为XML字符串”。

218.89.43.*
3楼 发表于:2011-3-19 19:33

分析:

1.IE浏览器支持xml属性(相当于php的asXML[不加参数]方法),但其他浏览器不支持。

2.除IE浏览器外的其他浏览器支持textContent方法,作用和xml属性相同。

初级魔法师 五级
4楼 发表于:2011-3-19 19:54

代码:

var xm=loadXML("../XML/window_login.xml");
function asXML(xmlObject){
 if (xmlObject.xml){
  return xmlObject.xml;
 }else{
  var xs=new XMLSerializer();
  var xv=xs.serializeToString(xmlObject);
  return xv;
 }
}

初级魔法师 五级
5楼 发表于:2011-3-19 19:55

读取XML的函数:

var loadXMLFailed=false;
function loadXML(xmlFile){
 var _xmlDoc=null;
 var failed=false;
 if (window.ActiveXObject){
  _xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
 }else{
  try{
   _xmlDoc=document.implementation.createDocument("","",null);
   if (_xmlDoc.documentElement==null || typeof(_xmlDoc.documentElement)=='undefined') throw new Error();
  }catch(ex){
   var xmlhttp=new window.XMLHttpRequest();
   xmlhttp.open("GET",xmlFile,false);
   xmlhttp.send(null);
   _xmlDoc=xmlhttp.responseXML;
   failed=true;
  }
 }
 if ((!failed)&&_xmlDoc!=null){
  _xmlDoc.async=false;
  try{
   _xmlDoc.load(xmlFile);
  }catch(ex){
   _xmlDoc=null;
   if (!loadXMLFailed){
    alert('您的浏览器不支持XML,本站部分功能将可能无法使用,建议您更换浏览器!');
    loadXMLFailed=true;
   }
  }
 }
 return _xmlDoc;
}

初级魔法师 五级
6楼 发表于:2011-3-19 19:56

回复:5楼

兼容六大浏览器(ie,firefox,opera,safari,chrome,搜狗高速浏览器)

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:640 回复数:5
评论数: ?
作者:218.89.43.*
最后回复:4Der
最后回复时间:2011-3-19 19:56
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。