Mam taki problem:
Jest SDK napisane w C, projekt (open source).

Jako część projektu mam napisać generator kodu, który wczyta pliki xml i przerobi je na odpowiednie wywołania API tego SDK.
Plik XML jest weryfikowany plikiem xsd -> także wiem jakie mogą być dozwolone elementy, wartości atrybutów itp
Np.
W pliku jest Element:

<Nodode id="foo" parentNodeId="bar" inneAttrubyty....>
   <value="val1" ... >

co w wzgenerowanym kodzie C powinno wyglądać mniej więcej tak:

NodeType *createdNode = c_sdk.createNode("foo", "bar".....);
c_sdk.setNodeValue("foo", "val1");

Oczywiście istnieje też jakaś moja własna aplikacja napisana w C, która potem tylko ma załadować generowany kod, tzn. wywołać w tym sdk te polecenia i połączyć z niezmiennym kodem servera, np:

Server *server;
server->addNode(createdNode)

Jak się za to najlepiej zabrać, żeby nie tworzyć samemu stringów z kodem C?, a nie tworzyć włanego kompilatora C# do C?
Oczywiśćie input może być dowolnie długi, niektóre pliki mają po kilka Mb.

Znalazłem taki tool: (CppSharp)
CppSharp
lecz wykonywalne C ma działać na wielu platformach linux, i inne embedded hwd.