I noticed that if I sign them, digest and signature values are different in both cases. Any idea how to transform it to have same signature?
Maybe one should ask the question in the other direction. Why would you think that would give the same signature? They are "different" in the sense of being an octet stream even after the canonicalization should be the first intuition and that is the correct conclusion, though.
Any idea how to transform it to have same signature?
You sure can transform them to some common output. But that is heavily dependent of detail setting of the formatter and the error prong white-space treatment... For that reason, maybe you should both apply a transformation so that they share the common defaut behaviour in the formatting and white-space treatment.
For instance, the first xml you reverse the positions under items with an template like this.
whereas, you apply a similar template on the second.
That is the basic idea.
Signature is a technology rigorous to the detail. You need to ask why such kind of mixed up turns up at all from the source.