We want to extract all SessionData, so the Loop Xpath will be Session_header/Session/SessionData. We want to get the followings fields : Code, User, Password, Status, Error_Message, Data. Thanks to Xpath, it's easy the return the five first fields. In fact, the last field (Data) is out of the Loop Xpath (InfoSession) and depends of the User. So first you have to go in InfoSession (../../InfoSession) and return Data for each User (<Data></Data>).
As we have previously the value for each User (see User field), we need to return Data +for each User+. The syntax is : *../../InfoSession/InfoSessionData\[@User=the current user value\]/Data.* We have to find a way to notify to PDI using the value of a field in a Xpath expression : this is what tokens are used for. To use in our case the User value in an expression; we will write *@_User\-* and the expression for the field Data will became *../../InfoSession/InfoSessionData\[@User=@_User-\]/Data.* To finish do not forget to check "Use tokens" option. Wiki Markup
Note: The tokenized field have to be defined previously and at this time, you can not use more than one token per field.