C/C++ の XML パーサー

下記のウェブサイトを参考にした。

Free C or C++ XML Parser Libraries

libxml

libxml は、XML ドキュメントを解析するためのC言語のソフトウェアライブラリです。

Gnome で開発されている。
GNUPOSIX な環境では標準的なライブラリです。
MIT ライセンス。

wikipedi : libxml2

Mac の場合は brew コマンドでインストールできる。

Homebrew Formulae : libxml2

下記のウェブサイトにチュートリアルとサンプルコードがある。
低レベルAPIであり、読み解くのに手間がかかる。

xmlsoft : Libxml2 set of examples

さくっと試したい人向けに、
XMLの要素名と値を表示するサンプルコードを github に公開した。
https://github.com/ohwada/MAC_cpp_Samples/tree/master/libxml/xml_parser

expat

Expatは、C言語で記述されたストリーム指向のXML1.0パーサーライブラリです。
MIT ライセンス。

wikipedia : Expat

Mac の場合は brew コマンドでインストールできる。

Homebrew Formulae : expat

下記のウェブサイトで使い方が紹介されている。

qiita : C言語用XMLパーサ「Expat」でXMLドキュメントを読み込む

libxml ++

libxml の C++ バインディングです。
LGPL ライセンス。

Mac の場合は brew コマンドでインストールできる。

Homebrew Formulae : libxml++

下記のウェブサイトにサンプルコードがある。
素の libxml よりは読みやすい。

github: libxmlplusplus

TinyXml

TinyXMLは、 C++言語用の小さくてシンプルなオペレーティングシステムに依存しない XML パーサーです。
zlib ライセンス。

wikipedia : TinyXML

Mac の場合は brew コマンドでインストールできる。

Homebrew Formulae : tinyxml

下記のウェブサイトにチュートリアルとサンプルコードがある。

github.io : tinyxml2

PugiXML

C++ 用の軽量でシンプルかつ高速なXMLパーサーです。
MIT ライセンス。

Mac の場合は brew コマンドでインストールできる。

Homebrew Formulae : pugixml

下記のウェブサイトにチュートリアルとサンプルコードがある。

pugixml : quick start guide

xerces-c

Apache Xerces は、XML文書のパースと操作を行うための一群のソフトウェアパッケージである。
Apacheソフトウェア財団の Apache Xerces プロジェクトにより開発されている。
Apacheライセンス。

wikipedia : Apache Xerces

Mac の場合は brew コマンドでインストールできる。

Homebrew Formulae : xerces-c

下記のウェブサイトにサンプルコードがある。

github : xerces-c

下記のウェブサイトで使い方が紹介されている。
hatenablog : Xerces-C++のサンプルコード

arabica

C ++で記述された XML ツールキットです。
SAX2、DOM、XPath、および XSLT の実装を提供します。

jezuk: arabica

Mac の場合は brew コマンドでインストールできる。

Homebrew Formulae : arabica

XMLパーサーは expat を使用している。
ビルドの時は、expat ライブラリが必要です。

下記のウェブサイトにサンプルコードがある。

github: arabica

このサンプルコードを Macでビルドできるように Makefile を追加したものを Github に公開した。

https://github.com/ohwada/MAC_cpp_Samples/tree/master/arabica/examples

RapidXml

C ++で記述されたDOMスタイルのin-situパーサーである。
可能な限り高速化しようとします。
ライブラリ全体が単一のヘッダーファイルに含まれており、ビルドは必要ありません。
MIT ライセンス または Boost Software ライセンス。

下記のウェブサイトで使い方が紹介されている。

codezine : 高速軽量XMLパーサ:RapidXMLを触ってみた

POCO

POCO C++ Libraries は、C++のネットワーク対応でポータブルなオープンソース・クラスライブラリのコレクションです。
Boost Software ライセンス。

wikipedia : POCO C++ Libraries

Mac の場合は brew コマンドでインストールできる。

Homebrew Formulae : poco

下記のウェブサイトで XML パーサーとしての使い方が紹介されている。

codeproject : Learning Poco: Load XML Configuration

boost

Boost とは、C++の先駆的な開発者のコミュニティ、およびそのコミュニティによって公開されているオープンソースのソフトウェアライブラリのことです。

wikipedia: Boost C++ライブラリ

Mac の場合は brew コマンドでインストールできる。

Homebrew Formulae : boost

下記のウェブサイトで XML パーサーとしての使い方が紹介されている。

boostjp: XMLの読み込み/書き込み

qiita: boost::property_tree::ptreeで読み込んだxmlを表示する