In a past project, I had to call Java code from C# and vice versa. We used a library called
JuggerNET to do that, but I wouldn't recommend doing that. It's cumbersome, there are some pitfalls and the performance is not very good and it just feels like a hack, and not something that works seamlessly. I'd rather just duplicate the POJOs in C# than using this again.
You say that the format that the data is in is something that you invented yourself, but later you're also talking about XML. If it is in XML, then you can get a long way using JAXB and the
xjc tool included with the JDK, which can generate your Java beans from an XML schema. I don't know if something similar exists for C#, but it would be nice if you'd only have to specify the data structures once in for example an XSD, from which you could generate the Java and C# POJOs.