<?xml version="1.0" encoding="utf-8"?>
<config>
<searchkey>id</searchkey>
<item id="AQDAjax">org.web.ajax.AQDAjax</item>
<item id="AADAjax">org.web.ajax.AADAjax</item>
</config>
需要用java条件检索如上格式的xml
searchkey的值id表示按id检索item实现完成了只需调用searchById(String path, String aaaa)
path为xml文件在服务器上位置
aaaa为传入的检索条件,如果我传入"AQDAjax"则会返回"org.web.ajax.AQDAjax"要用sax来实现
解决方案 »
- 做定时器时的监听器 报错 严重: Error configuring application listener of class test.timer.Time
- javascript checkbox 问题
- struts2 action forward 的问题
- limitclear这种人也配当程序员?3
- 哪些开源工作流引擎支持Wf-xml?
- >java.io.IOException: Server returned HTTP response code: 400 for URL: http://localhost:8888/Archives/webservice/incept.asmx
- [300分]求struts2,hibernate,spring,ajax结合的项目下载(最好能运行)!
- 问个sun application server的问题,请高人指点,急,谢谢!
- 关于JBuilder 7 WebLogic 6.X 详细配置的问题!!!!
- 毕业设计求救,在线等
- JSP页面的二维数组如何传个本页面中的js里面?
- Spring 2 + Hibernate 3 事务整合问题,高手请进
如果是 dom4j的话
用 xpath//config/item[@id="AQAjax"]
http://www.ibm.com/developerworks/cn/xml/x-dom4j.html
因为这些信息只需要读出来就够了,所以想用sax试试
错了的话请纠正
先建一个处理类继承DocumentHandler,然后根据下面几个方法获取内容。
1、startElement(String name, AttributeList atts)
节点开始
name就是标签的名字,AttributeList就是这个标签的属性列表2、endElement(String name)
节点结束3、characters(char[] ch, int start, int length)
获取接点的内容可以直接用new String(ch, start, length)。至于如何对这些处理,看你实际的需求了
然后用
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
MessageContentHandler handler = new MessageContentHandler();
saxParser.parse(new FileInputStream(path), handler);
这样就可以进行解析查找了
将它的子节点的文本值id拿出来去匹配item节点
如果item节点有id属性,并且其属性值为xxx
就将其子节点上的文本值读出来我再试试看,谢谢大家的回答。