.NET 向け TOML パーサーです。 v0.3.0, 0.3.1, 0.4.0 に対応しています。
- LINQ to XML で TOML を操作することが出来ます
- DynamicJson 互換の API で操作することが出来ます
- DataContractJsonSerializer を用いてシリアライズ / デシリアライズが行えます(ラップ済み)
- .NET Framework 4.0 - 4.5
その他のプラットフォームについては要望次第で調査します。いまのところ PCL にしたらビルド通らなくてやる気なくした。
PM> Install-Package HyperTomlProcessor
Toml.DeserializeXElement メソッドを使用して TOML 文字列またはストリームから XElement
に変換します。
変換された XElement
とその子・孫要素には type
と toml
という属性がついています。
type
属性は JsonReaderWriterFactory のものと互換性があります。
toml
属性の値は内容によって BasicString
, MultilineBasicString
, LiteralString
, MultilineLiteralString
, Integer
, Float
, Boolean
, Datetime
, Array
, Table
のいずれかになります。
Toml.SerializeXElement メソッドを使用して TOML の内容を表す XElement
から TOML 形式の文字列を作成します。
TOML におけるデータの種類は type
属性や toml
属性から決定します。
DataContractJsonSerializer
によるシリアライズ / デシリアライズ処理をそれぞれ Toml.SerializeObject メソッド、 Toml.DeserializeObject メソッドで行えます。簡単なラッパーメソッドとなっているので動作の拡張についてはソースコードを参考にしてください。
DynamicToml クラスでは DynamicJson に似た API で TOML の内容を操作することができます。基本的には DynamicJson と同じ動作をするようになっていますが、提供しているメソッドが違うので、ドキュメントを参照してください。また XElement
にキャストすることで内部で使用している XElement
インスタンスを取得できます。