XML的解析digester应用
今天我介绍一下XML开发利器Digester的应用:
现在市面是真的不好混啊,很多介绍新技术的文章,可是都没有详细的说明。
那么我这篇文章有怎么能吃的开,那当然有妙处了。
首先我这jar包都是在官网上下的,而且绝对不是抄袭的或者别人的东西。我这都是自己工作时候用到的。。给大家分享了。。
那么我们开始了 :
1.要配置我们的j环境,就要去官网:
下面的URL,是common apache官网
http://commons.apache.org/digester/
2.下载bin,上面的是Unix下面的是windows
commons-digester-2.1-bin.tar.gz
commons-digester-2.1-bin.zip
不用说我们用的是2.1版本。。。记好
如果现在就想开发还不行,还少jar包。。。。
3.下载其他jar包
我们点到common apache的首页上 可以看到很多jar包。??????????????????????????????????????????????????????????????????????????
我们要下载如下的包:
BeanUtils ,Collections ,Logging
好了这3个jar一定要下来,要不会少类
4.把上面的所有jar包分别配置到工程下面(在这里我想说明一下,最好都是用最新的,因为以上jar包之间会有影响,记住
。。。。。
到这我们的环境就配置好了,那么我们就开始实践了。。。
首先我们可以找到digester-rules.dtd
它在commons-digester.jar .里的org/apache/commons/digester/xmlrules/digester-rules.dtd位置
找到后放到功能根目录下面:
那么我们现在就试验试验
1.创建xml文件
2.输入
?这个是测试代码:
?然后就是我们的rule了
?
?好了 配置成功了
那么我们接下俩就是test了:
/** * */package test;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import org.apache.commons.digester.Digester;import org.apache.commons.digester.xmlrules.DigesterLoader;import org.apache.commons.logging.Log;import org.xml.sax.InputSource;import org.xml.sax.SAXException;import bean.Members;/** * @author chenhailong * */public class JavaXMLTest {/** * @param args */public static void main(String[] args) {File file = new File("E:\\JavaPortlet\\JavaXMLConclusion\\src\\Members.xml");File rulefile = new File("E:\\JavaPortlet\\JavaXMLConclusion\\src\\Members-rule.xml");InputStream inputStream = null;try {inputStream = new FileInputStream(rulefile);} catch (FileNotFoundException e) {e.printStackTrace();}InputSource rulesSouce = new InputSource();rulesSouce.setByteStream(inputStream);Digester digester = DigesterLoader.createDigester(rulesSouce);try {Members members = (Members) digester.parse(file);for(int i=0;i<members.getList().size();i++){System.out.println(members.getList().get(i).getId());System.out.println(members.getList().get(i).getName());System.out.println(members.getList().get(i).getAge());System.out.println(members.getList().get(i).getSex());System.out.println(members.getList().get(i).getCompany());System.out.println(members.getList().get(i).getLocation());System.out.println(members.getList().size());}} catch (IOException e) {e.printStackTrace();} catch (SAXException e) {e.printStackTrace();}}}?
到这里我们的介绍就结束了,如果有什么问题请给我留言。。。