Frage

Ich habe eine große Menge von XML-Dateien eines propriatary Schemas -die XML-Dateien Binärübertragungsprotokoll (Nachrichtenstruktur) zu definieren.

würde Ich mag Google-Protokoll-Puffer-Technologie nutzen.

Ich bin mit vorhandenen Code der XML-Dateien in ein Objektmodell (im Speicher) zu laden. Ich möchte eine .proto Datei von diesem Objektmodell erzeugen.

so im Grunde, was ich suche ist Code / Bibliothek (in C # /. NET), dass das .proto Dateiformat als ein Objektmodell darstellt und das Objekt-Modell in eine .proto Datei speichern kann.

Ich habe einen Blick auf Jon Skeet Dotnet-protobufs, ich glaube, ich verstehe, was es ist (c # -Code generieren basierend auf .proto Dateien)

Allerdings habe ich nicht herausfinden, ob ich es für mein Projekt verwenden können (es hat wahrscheinlich das Proto-Format-Objektmodell gibt, aber wahrscheinlich nur Code, der dieses Format analysieren kann und es nicht schreiben)

War es hilfreich?

Lösung

protobuf-net (meine Version von Protokollpuffern in .NET) hat primitive Unterstützung für Proto-Dateien zu erzeugen, aber es wäre nicht schwer, in den Lücken zu füllen. I konzentrierte sich auf das Kerntriebwerk zuerst, dann die Erzeugung von C # von Proto. Das Schreiben ein Xslt ein Proto aus dem Objektmodell zu erzeugen, würde nicht viel anders sein. Es wäre allerdings ein paar Tage dauern ... (ich habe im Moment begrenzte Zeit).

Wenn dies nützlich wäre, lassen Sie es mich wissen.

Für Informationen, die protobuf-net Motor mit den meisten XmlSerializer Klassen kompatibel ist (und DataContractSerializer, und vor kurzem BinaryFormatter) - also, wenn Ihr Code zur Zeit als XML funktioniert, können wir wahrscheinlich bekommen es in protobuf-net arbeiten. Keine Garantien, natürlich ...

Andere Tipps

Mein Code kann nur serialisiert und auf binäre und Text deserialisieren. Ich glaube jedoch, Marc GRA Projekt XML-Funktionen hat. In der Tat glaube ich, dass er C # -Code basierend auf den Laden die binäre Version einer Proto-Datei (die sich als protobuf codiert ist), schreibt sie, wie XML, und dann die Anwendung XSLT es ...

erzeugt
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top