XMLをCに変換
XMLをCの構造体に変換
XML入力
C出力
XMLをCに変換とは?
XMLの設定ファイル、SOAPレスポンス、データフィードがあり、Cプロジェクトで使う必要がある場合、困るのはCにはXMLのネイティブサポートがないことです。libxml2(業界標準)、高速なExpatパーサー、または軽量なtinyxml2が実際の解析を担当しますが、まず構造体定義が必要です。このツールはXML構造を読み取り、typedef struct定義を生成します。W3C XML仕様でフォーマットが定義されています。すべてDOMParser経由でローカルで動作します。
このツールの使い方
XMLを貼り付けまたはアップロード
XMLを貼り付けるか、ファイルをアップロードします。パネルで構造体名、ヘッダー、Data Class、Nullable型を設定します。
C出力を確認
右パネルに生成された構造体が表示されます。libxml2またはexpatで解析してください。
コピーまたはダウンロード
コピーまたはダウンロードを使用します。JSONをCに変換するにはJSONをCに。XMLのフォーマットにはXMLフォーマッターを使用してください。
XMLをCに変換が役立つ場面
APIやXMLフィードを消費するCアプリを構築する際にこのツールを使用します。
よくある質問
C用XMLライブラリはlibxml2とExpatどちらを使うべきですか?
libxml2は完全なDOMパーサーで、要素の検索に優れています。Expatは大きなファイルに適した高速SAXストリーミングパーサーです。tinyxml2は軽量で、ゲームエンジンや組み込みシステムで人気です。
libxml2でC構造体にデータを入れるにはどうすればよいですか?
xmlReadMemory()でドキュメントをパースし、xmlNodeGetContent()でテキスト、xmlGetProp()で属性を取得して構造体フィールドに代入します。最後にxmlFreeDoc()でメモリを解放します。
XMLデータはサーバーに送信されますか?
いいえ。すべての処理はブラウザ内でローカルに実行されます。データはアップロードも保存もされません。
XMLをCに変換の例
XMLからC構造体を生成する例です。
例:加入者レコード
XML入力:
生成されたC出力: