`
feohoo
  • 浏览: 112607 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

XML reffers to not existing parent error of dhtml

    博客分类:
  • AJAX
阅读更多

How to solve XML reffers to not existing parent error of dhtmlxTree
When I use dhtmlxTree dynamical loading with jsp, I always get the following exception:

Error type: DataStructure
Description: XML reffers to not existing parent

The code of the jsp page is as following:
---------------------------------------------------------------------------------------------------------------
<html>
<head>
</head>
<body>
    <link rel="STYLESHEET" type="text/css" href="css/dhtmlxtree.css">
    <script  src="js/dhtmlxcommon.js"></script>
    <script  src="js/dhtmlxtree.js"></script>
    <div id="treeboxbox_tree" style="width:100%; height:218;background-color:#f5f5f5;border :1px solid Silver;; overflow:auto;"></div>
    <script type="text/javascript">
  tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
  tree.attachEvent("onClick",onNodeSelect);
  tree.setImagePath("images/tree/");
  tree.setXMLAutoLoading("AdminFolderServlet?action=folder_treeview");
  tree.loadXML("AdminFolderServlet?action=folder_treeview&id=1");
  function onNodeSelect(nodeId){
      document.getElementById("parent_folder_id").value = nodeId;
  }
    </script>
</body>
</html>

---------------------------------------------------------------------------------------------------------------
And the following is the code snippet used to generate XML file of the tree:
---------------------------------------------------------------------------------------------------------------
String id = request.getParameter("id");
if (id == null) id = "1";
Vector folders = Folder.getFolders(Integer.parseInt(id));
StringBuffer buff = new StringBuffer("< ?xml version=\"1.0\"?>“);
buff.append(”
“);
for (int i = 0; i < folders.size(); i++) {
 Folder f = (Folder)folders.get(i);
 buff.append("“);
}
buff.append(”“);
response.setContentType(”text/xml”);
response.setHeader(”Cache-Control”,”no-cache”); //HTTP 1.1
response.setHeader(”Pragma”,”no-cache”); //HTTP 1.0
response.setDateHeader(”Expires”, 0); //prevents caching at the proxy server
response.getWriter().write(buff.toString());

---------------------------------------------------------------------------------------------------------------
The generated XML is well formed.
---------------------------------------------------------------------------------------------------------------
<?xml version="1.0"?>
<tree id='1'>
 <item child='1' id='2' text='Games' im0='folderClosed.gif' im1='folderOpen.gif' im2='folderClosed.gif'></item>
 <item child='1' id='3' text='Music' im0='folderClosed.gif' im1='folderOpen.gif' im2='folderClosed.gif'></item>
 <item child='0' id='4' text='Books' im0='folderClosed.gif' im1='folderOpen.gif' im2='folderClosed.gif'></item>
 <item child='1' id='5' text='Movies' im0='folderClosed.gif' im1='folderOpen.gif' im2='folderClosed.gif'></item>
 <item child='1' id='6' text='Photos' im0='folderClosed.gif' im1='folderOpen.gif' im2='folderClosed.gif'></item>
 <item child='0' id='14' text='Articles' im0='folderClosed.gif' im1='folderOpen.gif' im2='folderClosed.gif'></item>
</tree>

---------------------------------------------------------------------------------------------------------------
I finally found the solution. The id attribute of the tree element must point to the parent id, which data will be linked, by default super-root ID = 0, but it can be changed while tree initialization ( 4th parameter of constructor ), In case of dynamic loading the tree id must be equal to the parent ID for which data requested.

In my database, the root id of the top level folder is 1, however, I use 0 in the tree initialization method.


---------------------------------------------------------------------------------------------------------------
tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);

---------------------------------------------------------------------------------------------------------------
So, I got the exception. After changing the fourth parameter to 1, it works well.

tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",1);

---------------------------------------------------------------------------------------------------------------

 

分享到:
评论
2 楼 lg_asus 2011-08-11  
Hello, I solve my question .
tips from http://docs.dhtmlx.com/doku.php?id=others:troubleshooting_common_errors#incorrect_xml


Incorrect XML

Symptom: “Incorrect XML” message.

Reasons:

    Incorrect XML structure - it may be caused by incorrectly formed XML tags, or by using some special content (& < > chars) inside the tag values. The simplest way to detect the reason for an XML error is open the url used for XML loading in a separate browser window. It will show the error details and exact position of the problematic code;
    (IE specific) Usage of incorrect content type - if you are using dynamic XML source (generate it by the script), you need to send the data with Content-type:text/xml;
    (FF specific) In case of FF the problem may occur because of any whitespace before <?xml declaraton (the declaration must be the first text in the output).

If you are using a dynamic XML source, pay attention to the fact that the output during a stand alone test may not be equal to the output during the usage of the same feed with the component. You can try to use the debug version of dhtmlxcommon to check which urls are used and which xml output was sent during the data loading.

According to the title, I try to browse the xml file in browser, so the problem becomes clear , it is my xml file charset problem ,for more details:http://blog.sina.com.cn/s/blog_5c0522dd0100c0n0.html

now,the problem is gone, thanks very much
1 楼 lg_asus 2011-08-11  
Hello, I also encounter the same question ,but your solution doesn't work for me,
maybe other mistakes lay somethere in my code~

相关推荐

    javasnmp源码-The-Security-Handbook-Kali-Linux:一份有用的参考指南和一本适合初学者的安全基础手册

    reffers to the target ip as the export variable $ip. To set this value on the command line use the following syntax: export ip=192.168.1.100 目录 卡利Linux 将目标 IP 地址设置为 $ip 系统变量export ip=...

    java红酒网站源码-The-Security-Handbook:一份有用的参考指南和一本安全基础手册,供初学者使用

    reffers to the target ip as the export variable $ip. To set this value on the command line use the following syntax: export ip=192.168.1.100 目录 卡利Linux 将目标 IP 地址设置为 $ip 系统变量export ip=...

    动态加载概述与原理.docx

    动态加载概述与原理.docx

    LOL_params_0900000.pt

    LOL_params_0900000.pt

    分群用户详情_7_2024-09-06 09_49_58.xlsx

    分群用户详情_7_2024-09-06 09_49_58

    动态加载的高级主题:懒加载与按需加载.docx

    动态加载的高级主题:懒加载与按需加载.docx

    【超强组合】基于VMD-开普勒优化算法KOA-Transformer-LSTM的光伏预测算研究Matlab实现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    Minecraft 1.20.1 Paper Plugin-基于Towny Flagwar 为其实现中立国家

    为Towny Flagwar实现中立国家 /nasetnu 设置自己的国家为中立(仅king可用)

    resnet模型-基于图像分类算法对度假胜地识别-不含数据集图片-含逐行注释和说明文档.zip

    本代码是基于python pytorch环境安装的。 下载本代码后,有个环境安装的requirement.txt文本 首先是代码的整体介绍 总共是3个py文件,十分的简便 本代码是不含数据集图片的,下载本代码后需要自行搜集图片放到对应的文件夹下即可 需要我们往每个文件夹下搜集来图片放到对应文件夹下,每个对应的文件夹里面也有一张提示图,提示图片放的位置 然后我们需要将搜集来的图片,直接放到对应的文件夹下,就可以对代码进行训练了。 运行01生成txt.py,是将数据集文件夹下的图片路径和对应的标签生成txt格式,划分了训练集和验证集 运行02CNN训练数据集.py,会自动读取txt文本内的内容进行训练,这里是适配了数据集的分类文件夹个数,即使增加了分类文件夹,也不需要修改代码即可训练 训练过程中会有训练进度条,可以查看大概训练的时长,每个epoch训练完后会显示准确率和损失值 训练结束后,会保存log日志,记录每个epoch的准确率和损失值 最后训练的模型会保存在本地名称为model.ckpt 运行03pyqt界面.py,就可以实现自己训练好的模型去识别图片了

    基于Java的订餐系统设计与实现:涵盖系统架构、前端交互与数据库管理

    内容概要:本文详细介绍了一款基于Java的订餐系统的设计与实现。文章首先介绍了互联网时代背景下,订餐系统作为一种新型生活方式的便捷性与必要性。接着阐述了系统的设计背景、目的及其所采用的技术框架(如JSP、MySQL、MyEclipse)。系统分为前台和后台两大部分,前台主要负责用户的界面展示和互动,包括食品展示、查询、购物车等功能;后台则是管理员进行餐品管理和用户信息维护的平台。文中还详细解析了各主要功能模块的设计思路和技术实现细节,以及数据库表结构的设计。 适合人群:具备一定的Java开发基础,对Web应用开发有兴趣的初学者或工程师。 使用场景及目标:用于学习基于B/S架构的订餐系统的开发全过程,理解前后端分离、JSP动态页面生成、MySQL数据库操作等核心技术的应用。适合希望深入了解餐饮管理系统内部运作机制的学生或从业者。 其他说明:此系统设计符合现代互联网发展趋势,通过引入JSP、JavaScript、MySQL等主流技术,旨在提高餐饮行业的管理效率和服务水平,增强用户体验。此外,本项目也包含了系统测试的内容,确保各项功能的正常运转。

    【java毕业设计】家用电器销售网站源码(ssm+jsp+mysql+说明文档+LW).zip

    功能说明: 管理员:个人中心、用户管理、商品分类管理、品牌管理、商品信息管理、订单评价管理、留言板管理、系统管理、订单管理。用户:个人中心、订单评价管理、我的收藏管理、订单管理。前台首页:首页、商品信息、商品资讯、留言反馈、我的、跳转到后台、购物车等功能的家用电器销售网站。 环境说明: 开发语言:java 框架:ssm jdk版本:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse 部署容器:tomcat7+

    联想电脑的bios设置

    联想电脑的bios设置、图文都有

    基于springboot+vue+redis+mysql实现的大学生宿舍管理系统【源码+数据库】

    技术:ssm+mysql+redis vue+element 功能:宿舍管理、学生管理、班级管理、宿舍楼管理、维修记录、晚归记录、请假记录、用户管理、角色管理、菜单管理、日志管理

    【超强组合】基于VMD-飞蛾扑火优化算法MFO-Transformer-GRU的光伏预测算研究Matlab实现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    跨浏览器兼容性测试.docx

    跨浏览器兼容性测试.docx

    编译供c语言使用的Vosk库,可以直接使用省去编译的麻烦过程

    Vosk是一个开源的语音识别工具,支持中英文及多种语言,具备离线识别能力,且不依赖互联网。优势 Vosk 是一个离线开源语音识别工具包,它的优点在于: 轻量:Vosk 提供轻量级的模型(小于 50MB 大小),可以用于低功耗平台(例如 Android、树莓派之类) 多编程语言、多平台支持:Python、Java、Node.js、C#、C++、Rust、Go 等 多语种支持:支持二十多种语言的识别(包括中文) 实时性:实时性语音识别场景下,vosk 的延迟非常低 简单来讲,你电脑中有 Python 环境,再下载一个 50 MB 的模型,就可以用 Vosk 实现一个正确率还可以接受的语言识别相关的项目。而像 Whisper 虽然识别效果好,但是对硬件要求很高,同时部署起来麻烦(例如需要配置 CUDA 环境),另外也不是很适用于实时性场景。 此包为编译好的c调用的运行库,有需要的可以直接下载使用。

    影视源码自动对接资源站开源源码

    影视源码自动对接资源站开源源码

    【超强组合】基于VMD-多元宇宙优化算法MVO-Transformer-GRU的光伏预测算研究Matlab实现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    大学生社团管理系统 SSM毕业设计 附带论文.zip

    大学生社团管理系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B

    网络安全 - 图片文件黑客攻击

    网络安全 - 图片文件黑客攻击

Global site tag (gtag.js) - Google Analytics