Skip to content
C#
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.nuget
HyperTomlProcessor.Documentation
HyperTomlProcessor.Net40
HyperTomlProcessor.Test.Cmd
HyperTomlProcessor.Test
HyperTomlProcessor
.gitattributes
.gitignore
HyperTomlProcessor.nuspec
HyperTomlProcessor.sln
LICENSE.txt
README.md

README.md

HyperTomlProcessor

.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

XElement に変換して操作する

Toml.DeserializeXElement メソッドを使用して TOML 文字列またはストリームから XElement に変換します。

変換された XElement とその子・孫要素には typetoml という属性がついています。 type 属性は JsonReaderWriterFactory のものと互換性があります。 toml 属性の値は内容によって BasicString, MultilineBasicString, LiteralString, MultilineLiteralString, Integer, Float, Boolean, Datetime, Array, Table のいずれかになります。

Toml.SerializeXElement メソッドを使用して TOML の内容を表す XElement から TOML 形式の文字列を作成します。 TOML におけるデータの種類は type 属性や toml 属性から決定します。

DataContractJsonSerializer を使用してシリアライズ / デシリアライズを行う

DataContractJsonSerializer によるシリアライズ / デシリアライズ処理をそれぞれ Toml.SerializeObject メソッド、 Toml.DeserializeObject メソッドで行えます。簡単なラッパーメソッドとなっているので動作の拡張についてはソースコードを参考にしてください。

dynamic を使用した操作

DynamicToml クラスでは DynamicJson に似た API で TOML の内容を操作することができます。基本的には DynamicJson と同じ動作をするようになっていますが、提供しているメソッドが違うので、ドキュメントを参照してください。また XElement にキャストすることで内部で使用している XElement インスタンスを取得できます。

You can’t perform that action at this time.