<?xml version="1.0" encoding="UTF-8"?>
<products xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="environment_idex.xsd">
<product id="mds">
<dataSource>
<type>mysql</type>
<!-- driver>oracle.jdbc.driver.OracleDriver</driver-->
<driver>com.mysql.jdbc.Driver</driver>
<!-- A database URL is of the form "jdbc:subprotocol:subname".
See JDBC documentation for detail.
-->
<URL>jdbc:mysql://localhost:3306/</URL>
<!--URL>jdbc:oracle:thin:@swdb:1521:swdev</URL-->
<name>MDSDEV</name>
<userName>root</userName>
<password></password>
</dataSource>
<mail>
<!-- System email address -->
<mailAddress>dengkuadong@163.com</mailAddress>
<!-- "From" name for the email Notification -->
<name></name>
<!-- used in sending notification -->
<serverURL></serverURL>
</mail>
<categorySort id="1">
<category id="1" name="Java"/>
<category id="2" name="English"/>
<category id="3" name="Database"/>
<category id="4" name="XML"/>
</categorySort>
</product>
</products>
===========================================
private ProductObject parseEnvironmentXML(String projectPhysicalPath) {
ProductObject productObj;
try {
Digester digester = new Digester();
digester.setValidating( false );
digester.addObjectCreate( "products/product", ProductObject.class );
digester.addObjectCreate( "products/product/dataSource", DataBaseObject.class );
digester.addBeanPropertySetter( "products/product/dataSource/type", "type" );
digester.addBeanPropertySetter( "products/product/dataSource/driver", "driver" );
digester.addBeanPropertySetter( "products/product/dataSource/URL", "url" );
digester.addBeanPropertySetter( "products/product/dataSource/name", "name" );
digester.addBeanPropertySetter( "products/product/dataSource/userName", "user" );
digester.addBeanPropertySetter( "products/product/dataSource/password", "password" );
digester.addSetNext( "products/product/dataSource", "setDatabaseObj" );
digester.addObjectCreate("products/product/categorySort", CategorySortObject.class );
digester.addSetProperties("products/product/categorySort", "id", "id");
digester.addObjectCreate("products/product/categorySort/category", CategoryObject.class );
digester.addSetProperties("products/product/categorySort/category", "id", "id");
digester.addSetProperties("products/product/categorySort/category", "name", "name");
digester.addSetNext( "products/product/categorySort/category", "addCategorys" );
digester.addSetNext( "products/product/categorySort", "setCategorySortObj");
File input = new File(projectPhysicalPath + "/mds_environment.xml");
productObj = (ProductObject)digester.parse(input);
return productObj;
} catch( Exception exc ) {
exc.printStackTrace();
}
return null;
}
===================================================
commons-beanutils.jar common-dbcp.jar commons-digester.jar
<products xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="environment_idex.xsd">
<product id="mds">
<dataSource>
<type>mysql</type>
<!-- driver>oracle.jdbc.driver.OracleDriver</driver-->
<driver>com.mysql.jdbc.Driver</driver>
<!-- A database URL is of the form "jdbc:subprotocol:subname".
See JDBC documentation for detail.
-->
<URL>jdbc:mysql://localhost:3306/</URL>
<!--URL>jdbc:oracle:thin:@swdb:1521:swdev</URL-->
<name>MDSDEV</name>
<userName>root</userName>
<password></password>
</dataSource>
<mail>
<!-- System email address -->
<mailAddress>dengkuadong@163.com</mailAddress>
<!-- "From" name for the email Notification -->
<name></name>
<!-- used in sending notification -->
<serverURL></serverURL>
</mail>
<categorySort id="1">
<category id="1" name="Java"/>
<category id="2" name="English"/>
<category id="3" name="Database"/>
<category id="4" name="XML"/>
</categorySort>
</product>
</products>
===========================================
private ProductObject parseEnvironmentXML(String projectPhysicalPath) {
ProductObject productObj;
try {
Digester digester = new Digester();
digester.setValidating( false );
digester.addObjectCreate( "products/product", ProductObject.class );
digester.addObjectCreate( "products/product/dataSource", DataBaseObject.class );
digester.addBeanPropertySetter( "products/product/dataSource/type", "type" );
digester.addBeanPropertySetter( "products/product/dataSource/driver", "driver" );
digester.addBeanPropertySetter( "products/product/dataSource/URL", "url" );
digester.addBeanPropertySetter( "products/product/dataSource/name", "name" );
digester.addBeanPropertySetter( "products/product/dataSource/userName", "user" );
digester.addBeanPropertySetter( "products/product/dataSource/password", "password" );
digester.addSetNext( "products/product/dataSource", "setDatabaseObj" );
digester.addObjectCreate("products/product/categorySort", CategorySortObject.class );
digester.addSetProperties("products/product/categorySort", "id", "id");
digester.addObjectCreate("products/product/categorySort/category", CategoryObject.class );
digester.addSetProperties("products/product/categorySort/category", "id", "id");
digester.addSetProperties("products/product/categorySort/category", "name", "name");
digester.addSetNext( "products/product/categorySort/category", "addCategorys" );
digester.addSetNext( "products/product/categorySort", "setCategorySortObj");
File input = new File(projectPhysicalPath + "/mds_environment.xml");
productObj = (ProductObject)digester.parse(input);
return productObj;
} catch( Exception exc ) {
exc.printStackTrace();
}
return null;
}
===================================================
commons-beanutils.jar common-dbcp.jar commons-digester.jar