hi H s,
Not sure what you really want to do here. By parsing do you mean you
would like to extract all the attributes or do something else.
I would recommend using XPath if you would like to quickly extract all
the nodes. The quick start guide on dom4j is a excellent source of
quick examples to help you get started.
Cheers
anand raman
On 6/22/07, H s <[EMAIL PROTECTED]> wrote:
> 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
>
-------------------------------------------------------------------------
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