設置 | 登錄 | 註冊

目前共有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 Purasbar Ver3.0 [手機版] [桌面版]
除非另有聲明,本站採用知識共享署名-相同方式共享 3.0 Unported許可協議進行許可。