Code Monkey home page Code Monkey logo

hypertomlprocessor's Introduction

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 インスタンスを取得できます。

hypertomlprocessor's People

Contributors

azyobuzin avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.