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

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

 

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

3楼 218.89.43.* 2011-3-19 19:33

分析:

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

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

4楼 4Der 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楼 4Der 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楼 4Der 2011-3-19 19:56

回复:5楼

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

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
 
 
©2010-2025 Arslanbar [手机版] [桌面版]
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。