高分求一个类似CSDN上树的示例代码(用xml技术实现的)

menghuanlang 2005-03-29 11:28:22
如题!

===================
我很想学习关于XML,的不刷新页面而取数据的方法!
即:CSDN上的左侧的树一样,点一下就在数据库中取数据然后现实。。

哪位大侠有时间的话,希望你能把源码贴出来!谢谢!!
...全文
258 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
menghuanlang 2005-03-30
  • 打赏
  • 举报
回复
我希望能有大哥或大姐,能帮我多找找这方面的完整的例子。
谢谢了
menghuanlang 2005-03-30
  • 打赏
  • 举报
回复
TO :owenchwz()
你这好象不是完整的代码和示例啊!
这样我还是有点摸不着头脑。。。

:(
不过我结帖的时候还是会给分的!
jianghuxing 2005-03-30
  • 打赏
  • 举报
回复
呵呵,高见呀
hojay2001 2005-03-30
  • 打赏
  • 举报
回复
学习ing.....
owenchwz 2005-03-30
  • 打赏
  • 举报
回复
我给出的不是完整的示例代码,只是告诉你用这种方法去实现!并且主要的几个方法都示例用法,自己努力吧。
menghuanlang 2005-03-29
  • 打赏
  • 举报
回复
就是找不到完整的示例代码,所以我想高分请教一个呢!!!!!
:(
opencsdn 2005-03-29
  • 打赏
  • 举报
回复
阿信树,搜一下这儿
myy 2005-03-29
  • 打赏
  • 举报
回复
CSDN上树 ?
hgf1011 2005-03-29
  • 打赏
  • 举报
回复
你可以试试struts_menu一个基于struts的子项目。
去sourceforge.net里面去嗖一把,肯定能够满足你的要求
jFresH_MaN 2005-03-29
  • 打赏
  • 举报
回复
1)就是我们现在回复的帖子其实是上传到服务器,而没有保存到数据库中,对吧?
2)就是实现代码了
3)就是到一定的时候,再COPY XML文件到数据库中进行备份?
------------------
回复帖子其实是在xml文件里面增加一个<reply>节点内容
一定时间就把内容备份到数据库
这样在帖子出现问题的时候就可以重数据库取数据生成xml文件
我们的斑竹管理里面就有这样一个功能:)
King_Style 2005-03-29
  • 打赏
  • 举报
回复
好象曾经在哪见过,关注
owenchwz 2005-03-29
  • 打赏
  • 举报
回复
不好意思,直接在代码中copy/paste出来的,应该一看就明白
owenchwz 2005-03-29
  • 打赏
  • 举报
回复
for(var e=mfield.nextNode();e!=null;e=mfield.nextNode()) {
fieldName = e.getAttribute("name");
fieldData = masterdata.getAttribute(fieldName);
//如果表单值为空则不对单元格设值
if(! (fieldData==null || fieldData==""))
{。。。。}
}
owenchwz 2005-03-29
  • 打赏
  • 举报
回复
用activexdom处理,
简单点的示例代码如下:

function loadSheetData() {

var dataXml = new ActiveXObject("Microsoft.XMLDOM");
dataXml.async = false;
dataXml.load("<%=pathvalue%>/sheet/querysheetxmldata.do?action=list&sheetId=<%=getStr(sid)%>&recId=<%=getInt(recid)%>");
try{
if(dataXml.selectSingleNode("error").text!=""){
alert("加载参数文件出错!信息如下:\r\n"+dataXml.selectSingleNode("error").text);
return;
}
} catch(error){
}
var dataflag=dataXml.selectSingleNode("sheetdata");
if (dataflag != null && dataflag.getAttribute("dataflag")=="0"){
document.all.recId.value=0;
alert("没有找到指定的记录!");
return;
}

var masterdata = dataXml.selectSingleNode("sheetdata/_sheetmaster_/row");

if (paramXml == null){
initParamXmlObj();
if (paramXml == null){
alert("加载表单参数文件错误!");
return;
}
}

var inputstr="";
//显示主表数据
var mfield = paramXml.selectNodes("sheet/masterfield/field");
if (mfield!=null && masterdata!=null) {
。。。。。
}
}

menghuanlang 2005-03-29
  • 打赏
  • 举报
回复
晕死,,那位 阿信 兄发的帖子好象也没有找到!!

:(
vitamines 2005-03-29
  • 打赏
  • 举报
回复
mark
menghuanlang 2005-03-29
  • 打赏
  • 举报
回复
哦,,,大体明白了,,
现在还有个问题,
1)就是我们现在回复的帖子其实是上传到服务器,而没有保存到数据库中,对吧?
2)就是实现代码了
3)就是到一定的时候,再COPY XML文件到数据库中进行备份?

谢谢你花时间给我讲解!
我现在在找找关于阿信的树
  • 打赏
  • 举报
回复
关注……!
jFresH_MaN 2005-03-29
  • 打赏
  • 举报
回复
啊?删了?那我就不清楚了
反正web开发还有个阿信嘛,他也有个树的。

我说CSDN的帖子是怎么用xml实现的吧,声明这是我自己的理解,不知道对不对呢!

你先打开这个帖子的源代码,你看到的就是一个xml文件
里面最上面是帖子的相关信息,下面是回复的相关信息,也就是说每个帖子CSDN都是把数据保存在这个xml文件里面的。
每次我们大概这个帖子的时候,会去调用一个xslt,解析帖子的xml,转换成html,这就是我们看到的网页。
这个xslt是通用的,社区的所有帖子都是用这个转换成html,所以效率会很高。

这样实现的好处是修改xslt就能修改我们看到的html文件,而且这个xslt可以一直重用。
最主要的好处是不用把帖子的内容都保存在数据库,我们只要根据帖子的id号检索帖子内容。所以一个帖子的xml文件占的空间非常小,至少要比一半的数据库文件或者网页文件要小很多。

听说CSDN每天都会把xml备份到数据库里,以防帖子丢失,这样就万无一失了!

不知道我说的对不对,反正这个思路是可以用来构建我们自己的网站的
menghuanlang 2005-03-29
  • 打赏
  • 举报
回复
补充一下:
关于meizz发布出来的帖子,我没有搜索到啊!(有可能删了)
加载更多回复(7)

81,087

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧