Xpath node failing with error: Encountered duplicate row ID "Row0_1_4_1_1"

I am parsing a XML which has complex and inconsistent hierarchy. So in my Knime workflow I am using multiple Xpath nodes, concatenate nodes and so on.

Workflow was running fine until I added additional two additional xpath nodes to further parse two xml columns from previous output one followed by other. Second node is failing with following error:
ERROR XPath 0:64 Execute failed: Encountered duplicate row ID “Row0_1_4_1_1”

I checked in output of previous xpath node and there is only one row with Row0_1_4_1_1 id. It has however ? in the column which I have used as xml source column in a xpath node which is failing. Could that be the reason? How can I avoid this error? What is the purpose of row id? Why would duplicates matter for xpath?

Sharing snapshot of node configuration below:

Hi @ddnyaneshwar,

Is it possible for you to provide a workflow with a sample data set which reproduces the error?

:blush:

Hi Armingrud,

Please find the workflow and sample xml attached.

Use the RowID node and the problem is solved.

:blush:

2 Likes

That helped Armin. Thank you! What is the purpose of RowID?

1 Like

Creating Row IDs?!.. :sweat_smile:

You can create new row IDs, use the values of a column as the row IDs or copy the current row IDs to a new column.

:blush:

Sorry for not being specific. I meant to ask what is the purpose of rowID which is generated by concatenate node. In my case it was not required and causing error so I was curious why would knime create it in the first place.

The nodes are working fine. I think the problem is that you had a row ID “row0_1_4_1” and a row ID: “row0_1_4_1_1” and operating on the former row creates a row ID with the same ID as the latter one. So the node throws an error.

I’m not 100% sure about this but I’m pretty sure the Concatenate node is working fine.

:blush:

1 Like

Okay, thanks Armin! :slight_smile:

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.