我顶,我顶。
JAVA版没人会用SAX吗??
JAVA版没人会用SAX吗??
解决方案 »
- 查看mysql信息为乱码...
- 急!xml 转换成 pdf 问题
- 把一张表里面的某个字段中的所有内容 复制到另张表的某个字段上 sql语句怎么写啊 各位帮帮忙 急着用
- 我安装了MyEclipse6.0.1all_in_one,想用它学习j2ee,大家推荐些书(网上的资料也行),入门的,谢谢大家
- struts如何向hibernate提交数据
- 不能加载.jar文件
- 关于weblogic部署项目时出现的错误,不大清楚怎么解决,求高手指点
- Re:请问: 如何得到tomcat安装后的路径?
- 如何用XML描述一个多级的树形菜单?
- 请问怎么修改config.xml以把ejb的jar文件发布到weblogic上?
- 请问大家这个程序错在哪里?
- 紧急求救!!!!!! 我很是郁闷
不过还是要根据你的xml的格式。
我想你的xml肯定具有一定的规律性。根据你上面说的,你可以使用代理的方法。对于Item,你只需要深成你自己的对象,然后把这个对象加入到你的代理器中,至于代理器,
你应该通过不同的item的上级元素变换。不过话又说回来,如果你的xml数据,节点一点规律性都没有,那
呵呵,代理器的生成,我一般都在endElement里面完成
对那些太自动化的工具,不是不喜欢,而是很多不满足自己的要求。
要区分各种同名节点,我势必要定义非常多的状态值
=======
其实就是一个比对enum,这个不麻烦,至于状态值怎么保存,看你需要和处理了
其实明白一点就行,dom是把整个xml读到内存,然后再分析。sax是边读边回调处理,处理的部分由用户做,怎么做,就是你的事了。
希望你的xml文件能符合一定的dtd或者schema,否则你会很麻烦。
你可以将解析过程中新产生的对象用LinkedList做个stack保存起来,每次startElement你有可能创建一个对象吧?(或者你也可能在endElement中创建)。创建完之后,将其入栈,酱紫characters处理的就是针对栈顶业务对象的内容,你完全可以将节点名、内容扔给业务对象某个函数去处理,endElement处你可以选择是否要将业务对象出栈。
哦?好像说的有点复杂,简单D说,把SAX事件处理器做为事件分发器,将事件分给栈顶对象去处理,酱紫某个对象只处理XML的一小部分。