Hello Jian,

Thanks very much! That is what I was trying to get. I appreciate your taking 
the time to provide this code. It does exactly what I need.

Regards.
Romola


Romola Chrzanowski
University Applications Development
University at Albany
518.437.4525



-----Original Message-----
From: reddot-cms-users@googlegroups.com 
[mailto:reddot-cms-users@googlegroups.com] On Behalf Of Jian Huang
Sent: Monday, December 19, 2011 6:08 PM
To: RedDot CMS Users
Subject: Re: Plugin code to generate report of User Projects and Groups

Hi Romola,

Please find the code below, I typed out out in notepad, so it might have syntax 
errors, but idea should be there

set objXMLDOM = Server.CreateObject("Microsoft.XMLDOM")

objXMLDOM.LoadXml(RQLRequest)
Set objProjectNodeList = objXMLDOM.selectNodes("//PROJECT")

For Each objProjectNode in objProjectNodeList
        ProjectGuid = objProjectNode.getAttribute("guid")
        ProjectName = objProjectNode.getAttribute("name")
        <%
                Project Guid: <%= ProjectGuid %>
                <br />
                Project Name: <%= ProjectName %>
        %>

        Set objGroupNodeList = objXMLDOM.selectNodes("//PROJECT[@guid='" & 
ProjectGuid & "']/GROUPS/GROUP")
        For Each objGroupNode in objGroupNodeList
                %>
                        Group Guid: <%= objGroupNode.getAttribute("guid") %>
                        </BR>
                        Group Name: <%= objGroupNode.getAttribute("name") %>
                        </BR>
                        Checked: <%= objGroupNode.getAttribute("checked") %>
                <%
        Next
Next

I got lazy and simply used XPATH:

http://www.w3schools.com/xpath/xpath_syntax.asp

Idealy, I should be able to query sub nodes like

objProjectNode.selectNodes("/GROUPS/GROUP")

more information can be found here

http://msdn.microsoft.com/en-us/library/aa468547.aspx

Best,

-Jian

On Dec 19, 3:56 pm, "Chrzanowski, Romola" <rchrzanow...@albany.edu>
wrote:
> Hello Jian,
>
> Thanks for the code. It does output all of the groups. However, I am trying 
> to get the groups listed with each project the groups belong to. Within the' 
> for' loop for the Projects, I am trying to see the Groups for that project. 
> Instead, I am getting the full list of Groups output. Do you have any 
> suggestions for how to get that? This is my code right now:
>
> ' Load Result Into XML DOM
> Call XMLDom.LoadXML (CStr(RQLRequest))
>
> Set XMLDom = XMLDom.ObjectByQuery ("//PROJECTS") response.write 
> "PROJECTS ObjectByQuery count=" + Cstr(XMLDom.objects.count) + "</BR>"
>
> for iCounter=1 to XMLDom.objects.count
>         Response.write "</BR></BR>Project Counter= " + Cstr(iCounter) +"</BR>"
>         Response.write "Project guid: "    + 
> XMLDom.objects(iCounter)("guid")+"</BR>"
>         Response.write "Project Name: "    + 
> XMLDom.objects(iCounter)("name")+"</BR>"
>
>         set objXMLDOM = Server.CreateObject("Microsoft.XMLDOM")
>
>         objXMLDOM.LoadXml(RQLRequest)
>         Set objNodeList = objXMLDOM.selectNodes("//GROUP")
>
>         For Each objNode in objNodeList
>                 isMember = objNode.getAttribute("checked")
>                 if (StrComp(isMember, "1",0) = 0) then
>                 %>
>                         </BR>Group Guid: <%= 
> objNode.getAttribute("guid") %>
>                         Group Name: <%= objNode.getAttribute("name") 
> %>
>                         Checked: <%= objNode.getAttribute("checked") 
> %>
>                 <%
>                 end if
>         Next
>
> Next
>
> I appreciate your help with this.
>
> Romola Chrzanowski
> University Applications Development
> University at Albany
> 518.437.4525
>
>
>
>
>
>
>
> -----Original Message-----
> From: reddot-cms-users@googlegroups.com 
> [mailto:reddot-cms-users@googlegroups.com] On Behalf Of Jian Huang
> Sent: Monday, December 19, 2011 9:05 AM
> To: RedDot CMS Users
> Subject: Re: Plugin code to generate report of User Projects and 
> Groups
>
> Hi Romola,
>
> You are close.
>
> set objXMLDOM = Server.CreateObject("Microsoft.XMLDOM")
>
> objXMLDOM.LoadXml(RQLRequest)
> Set objNodeList = objXMLDOM.selectNodes("//GROUP")
>
> For Each objNode in objNodeList
>         %>
>         Group Guid: <%= objNode.getAttribute("guid") %>
>         Group Name: <%= objNode.getAttribute("name") %>
>         <%
> Next
>
> On Dec 16, 3:06 pm, "Chrzanowski, Romola" <rchrzanow...@albany.edu>
> wrote:
> > I will appreciate some assistance if anyone has done something similar. I 
> > realize that it will be good to move away from ASP, but I started with this 
> > because of the good example I found from Manuel Schnitger's ASP example 
> > code.  I am writing a plugin to report on a user's details (projects, 
> > groups, etc.) Right now I am stuck trying to parse the RQL response to this 
> > RQL:
>
> > <ADMINISTRATION>
> >     <USER guid="my guid">
> >       <PROJECTS action="listgroups"/>
> >     </USER>
> >   </ADMINISTRATION>
>
> > The RQL output is like this:
> > <IODATA>
> > <PROJECTS>
> > <PROJECT guid="project guid 1" name="Project One"> <GROUPS> <GROUP 
> > guid="Group guid 1" name="Group One" checked="1"/> <GROUP 
> > guid="Group guid 2" name="Group Two" checked="1"/> </GROUPS> 
> > </PROJECT> <PROJECT guid="project guid 1" name="Project Two"> 
> > <GROUPS> ... obviously there may be multiple groups listed within one 
> > project.
>
> > Although it may be better to move to a different language, for now I would 
> > like to finish this in ASP if possible.  At this simple level, the code 
> > works:
>
> > Call XMLDom.LoadXML (CStr(RQLRequest)) Set XMLDom = 
> > XMLDom.ObjectByQuery ("//PROJECTS") for iCounter=1 to 
> > XMLDom.objects.count
> >                                 Response.write "iCounter= " + 
> > Cstr(iCounter) +"</BR>"
> >                                 Response.write "Project guid: "    + 
> > XMLDom.objects(iCounter)("guid")+"</BR>"
> >                                 Response.write "Project Name: "    + 
> > XMLDom.objects(iCounter)("name")+"</BR>"
> > Next
>
> > What I can't figure out is how to get to the GROUPS and each GROUP element 
> > in each of the PROJECT elements.
>
> > I will appreciate any advice or assistance.
>
> > Thanks in advance.
>
> > Romola Chrzanowski
> > University Applications Development
> > University at Albany
> > 518.437.4525
>
> --
> You received this message because you are subscribed to the Google Groups 
> "RedDot CMS Users" group.
> To post to this group, send email to reddot-cms-users@googlegroups.com.
> To unsubscribe from this group, send email to 
> reddot-cms-users+unsubscr...@googlegroups.com.
> For more options, visit this group 
> athttp://groups.google.com/group/reddot-cms-users?hl=en.

--
You received this message because you are subscribed to the Google Groups 
"RedDot CMS Users" group.
To post to this group, send email to reddot-cms-users@googlegroups.com.
To unsubscribe from this group, send email to 
reddot-cms-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/reddot-cms-users?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
"RedDot CMS Users" group.
To post to this group, send email to reddot-cms-users@googlegroups.com.
To unsubscribe from this group, send email to 
reddot-cms-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/reddot-cms-users?hl=en.

Reply via email to