public class XmlConfigurationExample { private static String resource = "D:/workspace_sns25/XMLProcesser/src/xml/global.xml"; private static String otherresource = "D:/workspace_sns25/XMLProcesser/src/xml/test1.xml"; private static String outXML = "D:/workspace_sns25/XMLProcesser/src/xml/out.xml"; private XMLConfiguration config ; public XmlConfigurationExample() throws ConfigurationException { config = new XMLConfiguration(); //config.setAutoSave(true); File file = new File(resource); config.setFile(file); config.load(); } public void test1() { List startCriteria = config.getList("start-criteria.criteria"); int horsepower = config.getInt("horsepower"); System.out.println( "Start Criteria: " + startCriteria ); System.out.println(horsepower); System.out.println(config.getString("horsepower[@name]")); } /** * ************************************************** * @throws ConfigurationException * @methode testAddAttribute * @note测试添加属性 */ public void testAddAttribute() throws ConfigurationException { config.addProperty("horsepower[@name]", "bar"); System.out.println(config.getString("horsepower[@name]")); config.save(); } public void testAddNode() throws ConfigurationException { ConfigurationNode node = new HierarchicalConfiguration.Node("test"); ConfigurationNode child = new HierarchicalConfiguration.Node("child"); node.addChild(child); ConfigurationNode attr = new HierarchicalConfiguration.Node("attr"); node.addAttribute(attr); Collection nodes = new ArrayList(1); nodes.add(node); config.addNodes("add.nodes", nodes); config.save(); } public void testAddNodesAttribute() { System.out.println(config.getString("start-criteria.criteria(1).value")); } /** * ************************************************** * @methode copyNodes * @note 拷贝别的xml中的节点到一个xml文件的结电阻中,然后输出到一个新的xml文件 * 拷贝到别的xml中的路径可以新建也可以使用原先就有的。 * @throws ConfigurationException */ public void copyNodes() throws ConfigurationException { XMLConfiguration c2 = new XMLConfiguration(otherresource); config.addNodes("start-criteria.otherCon.copiedProperties", c2.getRootNode().getChildren()); config.save(new File(outXML)); } /** * ************************************************** * @methode testAttributeSplittingDisabled * @note得到节点的属性集合 */ public void testAttributeSplittingDisabled() { //config.setProperty("start-criteria.criteria(1)[@index]", 8); String path = "start-criteria.criteria[@index]"; List values = config.getList(""); for(int i = 0 ;i< values.size();i++) { values.get(i); } int newV = config.getInt("start-criteria.criteria(i)[@index]"); System.out.println(values); System.out.println(newV); } public static void main(String[] args) { XmlConfigurationExample example; try { example = new XmlConfigurationExample(); //example.test1(); //example.testAddAttribute(); example.testAddNode(); //example.copyNodes(); //example.testAttributeSplittingDisabled(); } catch (ConfigurationException e) { e.printStackTrace(); } } } 导jar包的时候注意,一定要有导入common lang包的。