1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 使用dom4j解析XML文件

使用dom4j解析XML文件

时间:2020-09-24 12:49:31

相关推荐

使用dom4j解析XML文件

为什么80%的码农都做不了架构师?>>>

dom4j是一个java 的XML API,用来读写XML文件。

使用dom4j解析XML文件,首先需要在官网下载dom4j-1.6.1.zip。

URL:/projects/dom4j/files/latest/download?source=files。

创建的Java 工程目录结构:

我们以解析数据库连接和配置文件c3p0.xml为例。

c3p0.xml

<?xmlversion="1.0"encoding="UTF-8"?><c3p0-config><init><name>Oracle</name><driver>oracle.jdbc.driver.OracleDriver</driver><url>jdbc:oracle:thin:@192.168.1.29:1521:orcl</url><user>orcl</user><password>orcl</password><initPoolSize>5</initPoolSize><minPoolSize>2</minPoolSize><maxPoolSize>20</maxPoolSize><maxStatements>20</maxStatements><maxIdleTime>60</maxIdleTime><acquireIncrement>5</acquireIncrement><checkoutTimeout>3000</checkoutTimeout></init></c3p0-config>

C3p0.java

packagecom.xml.parse.file;publicclassC3p0{privateStringname;privateStringdriver;privateStringurl;privateStringuser;privateStringpassword;privateStringinitPoolSize;privateStringminPoolSize;privateStringmaxPoolSize;privateStringmaxStatements;privateStringmaxIdleTime;privateStringacquireIncrement;privateStringcheckoutTimeout;publicC3p0(){}publicC3p0(Stringname,Stringdriver,Stringurl,Stringuser,Stringpassword,StringinitPoolSize,StringminPoolSize,StringmaxPoolSize,StringmaxStatements,StringmaxIdleTime,StringacquireIncrement,StringcheckoutTimeout){this.name=name;this.driver=driver;this.url=url;this.user=user;this.password=password;this.initPoolSize=initPoolSize;this.minPoolSize=minPoolSize;this.maxPoolSize=maxPoolSize;this.maxStatements=maxStatements;this.maxIdleTime=maxIdleTime;this.acquireIncrement=acquireIncrement;this.checkoutTimeout=checkoutTimeout;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringgetDriver(){returndriver;}publicvoidsetDriver(Stringdriver){this.driver=driver;}publicStringgetUrl(){returnurl;}publicvoidsetUrl(Stringurl){this.url=url;}publicStringgetUser(){returnuser;}publicvoidsetUser(Stringuser){this.user=user;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}publicStringgetInitPoolSize(){returninitPoolSize;}publicvoidsetInitPoolSize(StringinitPoolSize){this.initPoolSize=initPoolSize;}publicStringgetMinPoolSize(){returnminPoolSize;}publicvoidsetMinPoolSize(StringminPoolSize){this.minPoolSize=minPoolSize;}publicStringgetMaxPoolSize(){returnmaxPoolSize;}publicvoidsetMaxPoolSize(StringmaxPoolSize){this.maxPoolSize=maxPoolSize;}publicStringgetMaxStatements(){returnmaxStatements;}publicvoidsetMaxStatements(StringmaxStatements){this.maxStatements=maxStatements;}publicStringgetMaxIdleTime(){returnmaxIdleTime;}publicvoidsetMaxIdleTime(StringmaxIdleTime){this.maxIdleTime=maxIdleTime;}publicStringgetAcquireIncrement(){returnacquireIncrement;}publicvoidsetAcquireIncrement(StringacquireIncrement){this.acquireIncrement=acquireIncrement;}publicStringgetCheckoutTimeout(){returncheckoutTimeout;}publicvoidsetCheckoutTimeout(StringcheckoutTimeout){this.checkoutTimeout=checkoutTimeout;}}

ParseXML.java:

packagecom.xml.parse.file;importjava.io.InputStream;importorg.dom4j.Document;importorg.dom4j.DocumentException;importorg.dom4j.Element;importorg.dom4j.io.SAXReader;publicclassParseXML{privatestaticParseXMLinstance=null;privateC3p0c3p0=newC3p0();publicParseXML(){SAXReaderreader=newSAXReader();InputStreamin=Thread.currentThread().getContextClassLoader().getResourceAsStream("config/c3p0.xml");try{Documentdocument=reader.read(in);Elementroot=document.getRootElement();Elemente=root.element("init");Elementname=(Element)e.element("name");Elementdriver=(Element)e.element("driver");Elementurl=(Element)e.element("url");Elementuser=(Element)e.element("user");Elementpassword=(Element)e.element("password");ElementinitPoolSize=(Element)e.element("initPoolSize");ElementminPoolSize=(Element)e.element("minPoolSize");ElementmaxPoolSize=(Element)e.element("maxPoolSize");ElementmaxStatements=(Element)e.element("maxStatements");ElementmaxIdleTime=(Element)e.element("maxIdleTime");ElementacquireIncrement=(Element)e.element("acquireIncrement");ElementcheckoutTimeout=(Element)e.element("checkoutTimeout");c3p0.setName(name.getStringValue());c3p0.setDriver(driver.getStringValue());c3p0.setUrl(url.getStringValue());c3p0.setUser(user.getStringValue());c3p0.setPassword(password.getStringValue());c3p0.setInitPoolSize(initPoolSize.getStringValue());c3p0.setMinPoolSize(minPoolSize.getStringValue());c3p0.setMaxPoolSize(maxPoolSize.getStringValue());c3p0.setMaxStatements(maxStatements.getStringValue());c3p0.setMaxIdleTime(maxIdleTime.getStringValue());c3p0.setAcquireIncrement(acquireIncrement.getStringValue());c3p0.setCheckoutTimeout(checkoutTimeout.getStringValue());}catch(DocumentExceptione){e.printStackTrace();}}publicstaticsynchronizedParseXMLgetInstance(){if(instance==null){instance=newParseXML();}returninstance;}publicC3p0getC3p0(){returnc3p0;}}

XMLTest.java:

packagecom.xml.parse.file;publicclassXMLTest{publicstaticvoidmain(Stringargs[]){ParseXMLxml=ParseXML.getInstance();System.out.println("---name---");System.out.println(xml.getC3p0().getName());System.out.println("---driver---");System.out.println(xml.getC3p0().getDriver());System.out.println("---url---");System.out.println(xml.getC3p0().getUrl());System.out.println("---user---");System.out.println(xml.getC3p0().getUser());System.out.println("---password---");System.out.println(xml.getC3p0().getPassword());System.out.println("---initPoolSize---");System.out.println(xml.getC3p0().getInitPoolSize());System.out.println("---minPoolSize---");System.out.println(xml.getC3p0().getMinPoolSize());System.out.println("---maxPoolSize---");System.out.println(xml.getC3p0().getMaxPoolSize());System.out.println("---maxStatements---");System.out.println(xml.getC3p0().getMaxStatements());System.out.println("---maxIdleTime---");System.out.println(xml.getC3p0().getMaxIdleTime());System.out.println("---acquireIncrement---");System.out.println(xml.getC3p0().getAcquireIncrement());System.out.println("---checkoutTimeout---");System.out.println(xml.getC3p0().getCheckoutTimeout());}}

运行XMLTest.java中的main方法。结果如下:

好,到此使用dom4j解析XML文件完毕,请大家指正!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。