Garrett,
You'll need to build up the xml.
To do what you're suggesting "update all resources for a project" via XOG, you'd write a SQL select of the allocated resources (prteam) and do a forEach loop off this select to build up the resource xml.
I.E.
first get the data of the resources
<sql:query escapeText="false" var="allocatedresources" xmlns:sql="jelly:sql">
SELECT ....
what ever logic you want with user data
</sql:query>
make XOG request
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_project.xsd">
<Header action="write" externalSource="NIKU" objectType="project" version="15.3.0.200"/>
<Projects>
<Project name="Project" projectID="0010">
<Resources>
use foreach to build up xml
<core:forEach items="${allocatedresources.rows}" var="thisResource">
<Resource bookingStatus="15" resourceID="${thisResource.user_name}"></Resource>
</core:forEach>
</Resources>
</Project>
</Projects>
</NikuDataBus>
This results in:
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_project.xsd">
<Header action="write" externalSource="NIKU" objectType="project" version="15.3.0.200"/>
<Projects>
<Project name="Project" projectID="0010">
<Resources>
<Resource bookingStatus="15" resourceID="abc1">
<Resource bookingStatus="15" resourceID="abc2">
<Resource bookingStatus="15" resourceID="abc3">
..........
</Resource>
</Resources>
</Project>
</Projects>
</NikuDataBus>