OfficeIMO.Reader.Xml
3.6.1
Prefix Reserved
dotnet add package OfficeIMO.Reader.Xml --version 3.6.1
NuGet\Install-Package OfficeIMO.Reader.Xml -Version 3.6.1
<PackageReference Include="OfficeIMO.Reader.Xml" Version="3.6.1" />
<PackageVersion Include="OfficeIMO.Reader.Xml" Version="3.6.1" />
<PackageReference Include="OfficeIMO.Reader.Xml" />
paket add OfficeIMO.Reader.Xml --version 3.6.1
#r "nuget: OfficeIMO.Reader.Xml, 3.6.1"
#:package OfficeIMO.Reader.Xml@3.6.1
#addin nuget:?package=OfficeIMO.Reader.Xml&version=3.6.1
#tool nuget:?package=OfficeIMO.Reader.Xml&version=3.6.1
OfficeIMO.Reader.Xml - XML reader adapter
OfficeIMO.Reader.Xml provides a modular XML ingestion adapter for OfficeIMO.Reader.Core.
Install
dotnet add package OfficeIMO.Reader.Xml
Configure
using OfficeIMO.Reader;
using OfficeIMO.Reader.Xml;
OfficeDocumentReader reader = new OfficeDocumentReaderBuilder()
.AddXmlHandler()
.Build();
Examples
Convert XML elements and attributes into chunks
using OfficeIMO.Reader;
using OfficeIMO.Reader.Xml;
OfficeDocumentReader reader = new OfficeDocumentReaderBuilder()
.AddXmlHandler(new XmlReadOptions {
ChunkRows = 150,
MaxDepth = 128,
MaxNodes = 200_000,
MaxScalarLength = 1_048_576,
IncludeMarkdown = true
})
.Build();
foreach (var chunk in reader.Enumerate("configuration.xml")) {
Console.WriteLine($"{chunk.Id}: {chunk.Location.Path}");
Console.WriteLine(chunk.Markdown ?? chunk.Text);
}
Read XML from a bounded stream
using OfficeIMO.Reader;
using OfficeIMO.Reader.Xml;
OfficeDocumentReader reader = new OfficeDocumentReaderBuilder()
.AddXmlHandler()
.Build();
await using var stream = File.OpenRead("upload.xml");
var chunks = reader.Enumerate(stream, "upload.xml", new ReaderOptions {
MaxInputBytes = 10L * 1024L * 1024L,
MaxChars = 4_000
}).ToList();
What it emits
- XML tree traversal to element/attribute path rows.
- Chunked structured output with optional Markdown tables.
- Path and stream dispatch.
- Warning chunks for malformed XML.
- Complete scalar values within the configured parser limits.
The pull parser checks nesting, node count, and scalar length before building chunk output.
The defaults accept 128 element levels, 200,000 XML nodes and attributes, and 1,048,576
characters per attribute or combined direct element text. Exceeding a parser limit throws
ReaderResourceLimitException; it does not return a shortened value or a parse warning.
Raise XmlReadOptions limits explicitly for trusted larger inputs. ReaderOptions.MaxInputBytes
and aggregate ResourceLimits still apply independently.
Boundaries
- Reader adapter configuration belongs here.
- Shared extraction contracts belong in
OfficeIMO.Reader.Core.
Targets and license
- Targets:
netstandard2.0,net8.0,net10.0. - License: MIT.
Dependency footprint
- External: None beyond platform XML APIs.
- OfficeIMO:
OfficeIMO.Reader.Coreowns traversal projection, chunking, limits, locations, and warnings.
See the complete OfficeIMO package map for related formats and conversion paths.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7.2
- OfficeIMO.Reader.Core (>= 3.6.1)
-
.NETStandard 2.0
- OfficeIMO.Reader.Core (>= 3.6.1)
-
net10.0
- OfficeIMO.Reader.Core (>= 3.6.1)
-
net8.0
- OfficeIMO.Reader.Core (>= 3.6.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on OfficeIMO.Reader.Xml:
| Package | Downloads |
|---|---|
|
OfficeIMO.Reader.All
Composition-only preset for registering OfficeIMO.Reader's local format adapters. |
|
|
OfficeIMO.Reader.Text
Structured text compatibility adapter extensions for OfficeIMO.Reader (CSV/JSON/XML path). |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.6.1 | 125 | 11/10/2026 |
| 3.6.0 | 212 | 11/6/2026 |
| 3.5.3 | 158 | 10/31/2026 |
| 3.5.2 | 157 | 10/24/2026 |
| 3.5.1 | 199 | 10/16/2026 |
| 3.4.5 | 626 | 10/10/2026 |
| 3.4.4 | 310 | 9/27/2026 |
| 3.4.3 | 312 | 9/12/2026 |
| 3.4.2 | 231 | 9/9/2026 |
| 3.4.1 | 241 | 9/7/2026 |
| 3.4.0 | 201 | 9/6/2026 |
| 3.3.0 | 174 | 9/2/2026 |
| 3.2.7 | 166 | 8/29/2026 |
| 3.2.6 | 284 | 8/22/2026 |
| 3.2.5 | 275 | 8/21/2026 |
| 3.2.4 | 259 | 8/19/2026 |
| 3.2.3 | 185 | 8/17/2026 |
| 3.2.2 | 396 | 8/13/2026 |
| 3.2.1 | 318 | 8/11/2026 |
| 3.2.0 | 473 | 8/7/2026 |