Hi there, Here is the piece of code which I'm using to parse the given XML . Is there a better way than this ?
<acl_config > <acl name="Test"> <privilege group="testaclgroupharjit" permission="PERMIT_DELETE"/> <privilege group="testaclgroupharjit" permission="PERMIT_NONE"/> <privilege group="testaclgroupharjit" permission="PERMIT_WRITE"/> <privilege group="testaclgroupharjit" permission="PERMIT_BROWSE"/> <privilege group="testaclgroupharjit" permission="PERMIT_RELATE"/> <privilege group="testaclgroupharjit" permission="PERMIT_NONE"/> <privilege group="testaclgroupharjit" permission="PERMIT_VERSION"/> </acl> <acl name="Test1"> <privilege group="testaclgroupharjit2" permission="PERMIT_BROWSE"/> <privilege group="testaclgroupharjit2" permission="PERMIT_BROWSE"/> <privilege group="testaclgroupharjit2" permission="PERMIT_BROWSE"/> <privilege group="testaclgroupharjit2" permission="PERMIT_BROWSE"/> <privilege group="testaclgroupharjit2" permission="PERMIT_BROWSE"/> <privilege group="testaclgroupharjit2" permission="PERMIT_BROWSE"/> <privilege group="testaclgroupharjit2" permission="PERMIT_BROWSE"/> </acl> </acl_config> List aclConfigObjectList = new ArrayList(); String aclXPath = "/acl_config/*"; XPath xpathSelector = DocumentHelper.createXPath(aclXPath); List results = xpathSelector.selectNodes(xmldocument); Attribute aclName; Attribute groupName; Attribute permission; String aclValue = null; ACLConfig aclConfig = null; GroupConfig groupConfig = null; Vector groups = null; if (results != null) { for (int i = 0; i < results.size(); ++i) { Element e = (Element) results.get(i); if ((aclName = e.attribute(NAME)) != null) { aclConfig = new ACLConfig(); aclConfig.setAclName(aclName.getValue()); groups = new Vector(); int iNodeCount = e.nodeCount(); for (int iNodeIndex = 0; iNodeIndex < iNodeCount; ++iNodeIndex) { Node node = e.node(iNodeIndex); if (node instanceof Element) { Element group = (Element) node; groupConfig = new GroupConfig(); if (group.attribute(GROUP) != null) { groupName = group.attribute(GROUP); groupConfig.setGroupName(groupName.getValue()); } if (group.attribute(PERMISSION) != null) { permission = group.attribute(PERMISSION); groupConfig .setPermission(lookupPermission(permission .getValue())); groups.add(groupConfig); } } } if (groups.size() > 0) { aclConfig.setGroupVector(groups); } aclConfigObjectList.add(aclConfig); } } _________________________________________________________________ Hotmail to go? Get your Hotmail, news, sports and much more! http://mobile.msn.com ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ dom4j-user mailing list dom4j-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dom4j-user