私はシステムとの間でデータをやりとりするためにXMLを使用する組み込みシステムのプロジェクトに取り組んでいます。 snprintf()
/strcat()
を使用してXML文字列を構築し、XMLを「<
」と「>
」という文字でカウントしたり、XMLを解析したりするXMLハンドリングを、XMLの処理に取り入れることは望ましくありません。Cエンベデッドシステム用XMLライブラリ
私はいくつかのXMLライブラリを見つけましたが、そのうち2つは十分に小さいかもしれませんが、Cに最も近いのはC++であり、このシステムのカードにはありません。
- Cのソースコード
- 安くありません動的メモリ割り当て:私は、私は次の制約を満たしているXMLライブラリを見つけることができます願って。無料ですが、コピーレフトはそのトリックをしません。
完全なパーサーである必要はありません。ネストされた要素からテキストを引き出し、フォーマット文字列に依存しないXMLを生成するための合理的に簡単な方法が必要です。属性は使用されていません(まだ)ので、ライブラリでも属性をサポートする必要はありません。 XML文書はかなり小さくなりますので、DOMのようなものは、クライアント提供のバッファー(生のXMLを解析するのがいいでしょう)で動作する限り、うまくいくでしょう。
PugXMLとTinyXMLはかなり近いと思われますが、私のグーグルが欠けているCベースの組み込みシステム向けのXML libについて知っている人がいることを期待しています。
"copyleft"ライブラリの作者が、あなたのコードに代替の商用使用ライセンスをあなたに販売してもらう可能性があります。 – caf
私があなたの立場にいるのであれば、組み込みシステムの制約のために、私はXMLの代替案を真剣に検討しています。データの性質によっては、生成と解析の両方に多くの処理オーバーヘッドを必要としないデータをカプセル化するより良い方法があります。 –
同様の状況があり、小さなlibが見つかりませんでしたので、バイナリサイズ<20Kの組み込みシステム用に書きましたが、ヒープを使用しています。名前空間を持つASCII文字のみをサポートしています。 ( – Manish