大家好。~
    最近在使用Dom4J操作xml文件。目前我只能实现在本地的xml文件上操作。我的问题是,如何在浏览器上操作XML格式的数据.即如何在servlet中显示xml格式的数据,以及对于显示的xml格式的数据要如何读取并保存,技术不限。先谢过啦。

解决方案 »

  1.   

    //把xml字符串转换为xml对象
    function loadXML(flag,xml){var xmlDoc;//针对IE浏览器if(window.ActiveXObject){var aVersions = ["MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument","Microsoft.XmlDom"];for (var i = 0; i < aVersions.length; i++) {try {//建立xml对象xmlDoc = new ActiveXObject(aVersions[i]);break;} catch (oError) {}}if(xmlDoc != null){    //同步方式加载XML数据xmlDoc.async = false;//根据XML文档名称装载if(flag == true){        xmlDoc.load(xml);} else{        //根据表示XML文档的字符串装载        xmlDoc.loadXML(xml);}//返回XML文档的根元素节点。return xmlDoc.documentElement;}} else{//针对非IE浏览器    if(document.implementation && document.implementation.createDocument){      /*       第一个参数表示XML文档使用的namespace的URL地址       第二个参数表示要被建立的XML文档的根节点名称       第三个参数是一个DOCTYPE类型对象,表示的是要建立的XML文档中DOCTYPE部分的定义,通常我们直接使用null       这里我们要装载一个已有的XML文档,所以首先建立一个空文档,因此使用下面的方式      */      xmlDoc = document.implementation.createDocument("","",null);      if(xmlDoc != null){       //根据XML文档名称装载        if(flag == true){          //同步方式加载XML数据xmlDoc.async = false;          xmlDoc.load(xml);        } else{          //根据表示XML文档的字符串装载          var oParser = new DOMParser();          xmlDoc = oParser.parseFromString(xml,"text/xml");        }        //返回XML文档的根元素节点。        return xmlDoc.documentElement;      }    }}  return null;}
      

  2.   

    解析用jquery很方便 var xmlDoc = loadXML(false, xmldata); //转换为xml对象
                        $(xmlDoc).find('schs').each(function() {
      

  3.   

    不好意思,我讨厌用js来显示xml,最好能使用servlet技术。