smartgwt 2.4 listgrid and datasource problem

Hello,

I am using smart gwt 2.4 and I have a problem.
I need to make a table with elements that are readed from an xml. The xml has the next structure.
<documents>
<document>
<propietat>
<nom>object_name</nom>
<valor>hello</valor>
…
</propietat>
<propietat>
<nom>r_object_id</nom>
<valor>12348</valor>
…
</propietat>
…
</document>
…
<documents>

When I try to read only one “propietat” (for example, object_name) I do something like this:

ListGrid taulaTest = new ListGrid();
taulaTest.setWidth(“100%”);
taulaTest.setHeight(“100%”);
DataSource dataSource = new DataSource();
dataSource.setDataURL(Mediateca.URL + “rest/documents?pare=” + pare);

String xpath = “//propietat/nom[text()=‘object_name’]/parent::propietat”;
dataSource.setRecordXPath(xpath);

DataSourceTextField field = new DataSourceTextField(“valor”,“Nom”);
dataSource.addField(field);

and it works correctly, it means, I get a table with a column with the value of “valor” from the “propietat” that have “nom=object_name” for each “document”.
But my object is to read some different “propietat”, for example, two columns, one with “object_name” and another with “r_object_id”.
I’ve tried set xpath for each DataSourceTextField, but it returns me a lot of results but all of them with the first element, for example, if I have the next xml:

<documents>
<document>
<propietat>
<nom>object_name</nom>
<valor>Hello</valor>
</propietat>
<propietat>
<nom>r_object_id</nom>
<valor>1</valor>
</propietat>
</document>
<document>
<propietat>
<nom>object_name</nom>
<valor>Bye</valor>
</propietat>
<propietat>
<nom>r_object_id</nom>
<valor>2</valor>
</propietat>
</document>
<documents>

I get a table with two columns and the next results:
object_name r_object_id
Hello 1
Hello 1
Hello 1
…

I get a lot of results!! and always with the first result it gets.

What I would like to get is:
object_name r_object_id
Hello 1
Bye 2

Does anybody know how can I solve this problem??

Thanks!