MariGold.HtmlParser.RtL 1.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package MariGold.HtmlParser.RtL --version 1.2.0                
NuGet\Install-Package MariGold.HtmlParser.RtL -Version 1.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MariGold.HtmlParser.RtL" Version="1.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MariGold.HtmlParser.RtL --version 1.2.0                
#r "nuget: MariGold.HtmlParser.RtL, 1.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MariGold.HtmlParser.RtL as a Cake Addin
#addin nuget:?package=MariGold.HtmlParser.RtL&version=1.2.0

// Install MariGold.HtmlParser.RtL as a Cake Tool
#tool nuget:?package=MariGold.HtmlParser.RtL&version=1.2.0                

MariGold.HtmlParser.RtL

Based on MariaGold.HtmlParser v1.1.1.

MariGold.HtmlParser

MariGold.HtmlParser is a utility to parse the HTML documents into a collection of IHtmlNode type instances. You can either traverse through the document by parsing every root elements one by one or parse the entire document at once. Once an HTML element parsed, it will recursively parse all the child elements.

Installing via NuGet

In Package Manager Console, enter the following command:

Install-Package MariGold.HtmlParser

Usage

MariGold.HtmlParser can be used to parse both HTML and CSS of an HTML document.

Traverse through html elements

In the following example, the first loop iteration will parse the first div and the following div in the second and final iteration.

using MariGold.HtmlParser;

HtmlParser parser = new HtmlTextParser("<div>first</div><div>second</div>");

while (parser.Traverse())
{
	IHtmlNode node = parser.Current;
}
Parse the HTML document

To parse the entire document at once, use Parse method. It will parse all the HTML elements in the given document and Current property will point to the first root element

if (parser.Parse())
{
	IHtmlNode node = parser.Current;
}
Travel through IHtmlNode collection

Use Next and Previous properties to travel through the IHtmlNode collection. Use the Children property to access the descendant elements.

IHtmlNode node = parser.Current;
            
while (node != null)
{
	node = node.Next;
}
Parse CSS styles

By default parsing HTML will not parse the CSS styles. The ParseStyles method will parse any external or inline styles in the document. The parsed styles can be accessed using the Styles and InheritedStyles properties of IHtmlNode.

HtmlParser parser = new HtmlTextParser(@"<html>
		<head>
			<style type='text/css'>
                            .cls
                            {
                                font-size:10px;
                            }
                        </style>
		</head>
		<body>
			<div class='cls' style='font-family:Arial'>sample</div>
		</body>
	</html>");

if (parser.Parse())
{
	parser.ParseStyles();
}

To resolve any protocol free or relative url of external style sheets, use the UriSchema and BaseURL properties.

parser.UriSchema = Uri.UriSchemeHttp;
parser.BaseURL = "http://site.com";
Product 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 was computed.  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. 
.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 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on MariGold.HtmlParser.RtL:

Package Downloads
MariGold.OpenXHTML.RtL

A utility to convert html document to Open XML word document

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.0 644 10/19/2022
1.2.0 673 6/30/2022

Bug fixes