日期:2014-05-19  浏览次数:20705 次

在网页上能显示和修改本地的xml文件,最好是使用extjs的树形控件,请高手指教,在线等....
本帖最后由 fengfenglucky 于 2012-12-13 09:28:42 编辑
现在做一个javaWeb项目,需要从本地读取一个XML文件在网页上通过树形控件展示出来,然后还能在网页上进行修改xml文件的某一属性值,有哪位做过此类功能的老师,请指教!!有实例代码的最好.谢谢了!
xml文件格式如下:
<?xml version="1.0" encoding="GB2312"?>
<BASE >
<Task templateName="socket_normal">
    <Dev ip="10.96.20.132"  port="21000"/>
    <Dev ip="10.96.20.132"  port="21023"/>   
</Task>   
<Task templateName="snmp_normal"> 
  <Dev ip="172.172.172.172"  readComm="sss"  version="V1" desc="责任人:测试测试"/>   
  <Dev ip="172.172.172.1"  readComm="3e4r#E$R"  version="V1"  desc="责任人"/>
</Task>
</base> 
</xml>

extjs代码如下:
 var mytree_4=new Ext.tree.TreePanel({   
        animate:true,//以动画形式伸展,收缩子节点   
       rootVisible:true,//是否显示根节点   
       autoScroll:true,   
        autoHeight:true,   
        width:'100%',   
      lines:true,//节点之间连接的横竖线   
          loader: new Ext.app.BookLoader({   
             dataUrl:'GridData.xml'  
         }),                       
      root: new Ext.tree.AsyncTreeNode({text:"根目录"}),                 
      collapseFirst:false,   
}

不知道为什么就是读取不到XML数据,不能显示.请指教

------解决方案--------------------
引用:
这个功能实现怎么设计比较好呢?可以直接全部使用EXTJS读取和修改吗?这样貌似简单一些
还是必须使用DOM4J操作xml文件,extjs只做展示?不过这样有很多问题待解决

有这么一个规定,通过js是不能直接修改本地文件的,防止黑客的恶意修改。
也就是单纯的通过html文件是不能实现的,楼主可以通过一个servlet接受请求,然后对xml文件进行修改。
------解决方案--------------------
做一个文件上传功能,将客户选择的XML传到服务器,然后用Ext.Ajax请求后台,获取XML数据。似乎Ext有解析XML的组件。XMLReader?
------解决方案--------------------
最后,重写TreePanel,增加一个loadXML方法,将Reader中缓存的XML数据,解析并装载在Tree中。