Skip to content

Commit

Permalink
1.2.1 - Added new target frameworks (.NET 4.5.2, .NET 4.6.1).
Browse files Browse the repository at this point in the history
Added Readme.md.
  • Loading branch information
AndrewRissing committed May 9, 2019
1 parent 998ee72 commit 70799dc
Show file tree
Hide file tree
Showing 4 changed files with 109 additions and 15 deletions.
6 changes: 4 additions & 2 deletions GenericParsing.sln
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27004.2002
# Visual Studio Version 16
VisualStudioVersion = 16.0.28803.352
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{936F8079-8AE8-4F7A-921C-9E44920F4B9E}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
GenericParsing.vsmdi = GenericParsing.vsmdi
LICENSE.md = LICENSE.md
localtestrun.testrunconfig = localtestrun.testrunconfig
README.md = README.md
SolutionVersionInfo.cs = SolutionVersionInfo.cs
EndProjectSection
EndProject
Expand Down
21 changes: 10 additions & 11 deletions GenericParsing/GenericParsing.csproj
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFrameworks>netstandard2.0;net452;net461</TargetFrameworks>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version>1.2.0</Version>
<Version>1.2.1</Version>
<Authors>Andrew Rissing</Authors>
<Company>N/A</Company>
<Owners>AndrewRissing</Owners>
<Summary>The GenericParser is a robust C# implementation of a parser for delimited and fixed width format files.</Summary>
<Description>The GenericParser is a robust C# implementation of a parser for delimited and fixed width format files. It provides a variety of features (ex. custom delimiters, text qualifiers, loading/saving configuration from XML, and many more), performant, and thoroughly tested.</Description>
<Copyright>Copyright © 2018 Andrew Rissing</Copyright>
<PackageLicenseUrl>https://www.codeproject.com/info/cpol10.aspx</PackageLicenseUrl>
<License>CPOL-1.02</License>
<PackageProjectUrl>https://github.com/AndrewRissing/GenericParsing</PackageProjectUrl>
<PackageIconUrl></PackageIconUrl>
<PackageTags>GenericParsing Parsing CSV TSV Delimited</PackageTags>
<AssemblyVersion>1.2.0.0</AssemblyVersion>
<FileVersion>1.2.0.0</FileVersion>
<AssemblyVersion>1.2.1.0</AssemblyVersion>
<FileVersion>1.2.1.0</FileVersion>
<RepositoryUrl>https://github.com/AndrewRissing/GenericParsing</RepositoryUrl>
<RepositoryType>GitHub</RepositoryType>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>GenericParsing.pfx</AssemblyOriginatorKeyFile>
<DelaySign>false</DelaySign>
<PackageReleaseNotes Condition="'$(Version)' == '1.2.0'">
- Moved nuget package to GenericParsing (the GenericParser package is now deprecated).
<PackageReleaseNotes Condition="'$(Version)' == '1.2.1'">- Added new target frameworks (.NET 4.5.2, .NET 4.6.1).
- Added Readme.md</PackageReleaseNotes>
<PackageReleaseNotes Condition="'$(Version)' == '1.2.0'">- Moved nuget package to GenericParsing (the GenericParser package is now deprecated).
- Migrated to .NET Standard 2.0.
- Signed the GenericParsing assembly.
</PackageReleaseNotes>
- Signed the GenericParsing assembly.</PackageReleaseNotes>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
<None Include="GenericParsing.shfbproj" />
Expand All @@ -35,5 +35,4 @@
<SubType>Code</SubType>
</Compile>
</ItemGroup>

</Project>
93 changes: 93 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# GenericParser

GenericParser is a .NET implementation of a parser for delimited and fixed width format files.

## Get Started

Install the [latest Nuget package](https://www.nuget.org/packages/GenericParsing).

Instantiate an instance of the parser:

```csharp
using (GenericParser parser = new GenericParser(filePath))
{
while (parser.Read())
{
string id = parser["ID"];
string name = parser["Name"];
string status = parser["Status"];

// Your code here ...
}
}
```

See below for more examples.

## GenericParser Features

* Efficient
* Excellent unit test coverage
* Supports delimited and fixed-width formats
* For delimited, any custom delimited of a single character is supported
* Supports comment rows (single character marker)
* Supports escape characters (single character only)
* Supports a custom text qualifier to allow column/row delimiters to be ignored (e.g., multi-line data)
* Supports escaped text qualifiers by doubling them up
* Supports ignoring/including rows that contain no characters
* Supports a header row
* Supports the ability to dynamically add more columns to match the data
* Supports the ability to enforce the number of columns to a specific number
* Supports the ability to enforce the number of columns based on the first row
* Supports trimming the strings of a column
* Supports stripping off control characters
* Supports reusing the same instance of the parser for different data sources
* Supports TextReader and String (the file location) as data sources
* Supports limiting the maximum number of rows to read
* Supports customizing the size of the internal buffer
* Supports skipping rows at the beginning of the data after the header row
* Supports XML configuration to configure the parser
* Supports access to data via column name (when a header row is supplied)
* Supports Unicode encoding

## GenericParserAdapter Features (Extends GenericParser)

* Supports skipping rows at the end of the data
* Supports adding a line number to each row
* Supports the following outputs - XML, DataTable, and DataSet

## GenericParser - Examples

* Parsing file from disk

```csharp
using (GenericParser parser = new GenericParser(filePath))
{
while (parser.Read())
{
string id = parser["ID"];

// Your code here ...
}
}
```

* Parsing file from stream

```csharp
using (GenericParser parser = new GenericParser(stream))
{
// ...
}
```

## GenericParserAdapter - Examples

* Parsing file into a DataSet

```csharp
using (GenericParserAdapter parser = new GenericParserAdapter(filePath))
{
dsResult = parser.GetDataSet();
}
```
4 changes: 2 additions & 2 deletions SolutionVersionInfo.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System.Reflection;

[assembly: AssemblyVersion("1.2.0.*")]
[assembly: AssemblyFileVersion("1.2.0.0")]
[assembly: AssemblyVersion("1.2.1.*")]
[assembly: AssemblyFileVersion("1.2.1.0")]

0 comments on commit 70799dc

Please sign in to comment.