Table of Contents

Line-format guides

Recipe-style walk-throughs for the Bodu line formats - Bodu.Text.Delimited, Bodu.Text.DotEnv, and Bodu.Text.Ini (available together through the Bodu.Text.Formats umbrella package).

If you are new to the family, start with the introduction, the Core concepts glossary, and the getting-started page. The guides below assume you know the quartet vocabulary (token reader/writer, serializer, mutable node DOM, read-only document DOM).

How the libraries work

Each format is a self-contained System.Text.Json-shaped library: a forward-only Utf8*Reader / Utf8*Writer pair over UTF-8 bytes, a *Serializer that binds POCOs and dictionaries with the shared attribute/naming-policy/callback layer, a mutable *Node DOM for authoring, and a disposable read-only *Document DOM for querying.

The serializer infrastructure (attributes, naming policies, callbacks) is shared with the TOML, Bencode, and YAML libraries - see the Bodu serializer guides.

Namespace map

Namespace What lives here Guides
Bodu.Text.Delimited DelimitedSerializer, the dialect-policy enums, and the exceptions; readers/writers and DOMs in the .Reader / .Writer / .Nodes / .Document child namespaces. Using delimited
Bodu.Text.DotEnv DotEnvSerializer and companions, with the same child-namespace layout. Using DotEnv
Bodu.Text.Ini IniSerializer, the duplicate-policy enums, and companions; the two readers live in Bodu.Text.Ini.Reader. Using INI

Guides

Suggested reading path

  1. Choosing a text format
  2. The guide for your format
  3. Streams and token-level I/O for large inputs
  4. Errors across the line formats before shipping a parser of untrusted files

Where to go next