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
[email protected]
https://lists.sourceforge.net/lists/listinfo/dom4j-user