FSharp.HTML
1.1.0
dotnet add package FSharp.HTML --version 1.1.0
NuGet\Install-Package FSharp.HTML -Version 1.1.0
<PackageReference Include="FSharp.HTML" Version="1.1.0" />
<PackageVersion Include="FSharp.HTML" Version="1.1.0" />
<PackageReference Include="FSharp.HTML" />
paket add FSharp.HTML --version 1.1.0
#r "nuget: FSharp.HTML, 1.1.0"
#:package FSharp.HTML@1.1.0
#addin nuget:?package=FSharp.HTML&version=1.1.0
#tool nuget:?package=FSharp.HTML&version=1.1.0
FSharp.HTML
A parse for HTML5 based on the official W3C specification.
Usage
the html source text is:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My test page</title>
</head>
<body>
<img src="images/firefox-icon.png" alt="My test image">
</body>
</html>
we can use this code to parse html source to HtmlNode list:
let sourceText = <html>...</html>
let nodes: HtmlNode list = HtmlUtils.parseDoc sourceText
doctype is a string that is extracted from doctype tag. and nodes is a HtmlNode list.
type HtmlNode =
| HtmlElement of
name: string *
attributes: list<string * string> *
elements: HtmlNode list
| HtmlComment of string
| HtmlCData of string
| HtmlText of string
| HtmlDoctype of string
| HtmlWS of string
All parsing processes in a package are public, and you are free to compose them to implement your functional requirements. Parser is highly configurable, see source code HtmlUtils
module FSharp.HTML.HtmlUtils
let parseDoc (txt: string) =
txt
|> HtmlCompiler.compileText
|> Whitespace.trimWhitespace
|> List.map CharacterReference.processCharRefs
API
The user can parse the string through the functions in the HtmlUtils module.
| 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 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. 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 was computed. 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 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. |
-
.NETStandard 2.0
- FSharp.Core (>= 9.0.303)
- FSharp.Idioms (>= 1.4.38)
- FSharp.LexYacc (>= 0.0.6)
- System.Reactive (>= 6.1.0)
- System.Text.Encoding.CodePages (>= 9.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.0 | 169 | 10/23/2025 |
| 1.0.17 | 279 | 9/9/2023 |
| 1.0.16 | 383 | 2/9/2023 |
| 1.0.15 | 425 | 12/21/2022 |
| 1.0.14 | 523 | 10/16/2022 |
| 1.0.13 | 557 | 6/27/2022 |
| 1.0.12 | 543 | 6/5/2022 |
| 1.0.11 | 573 | 5/31/2022 |
| 1.0.10 | 564 | 5/20/2022 |
| 1.0.9 | 565 | 5/8/2022 |
| 1.0.8 | 580 | 4/9/2022 |
| 1.0.7 | 582 | 4/6/2022 |
| 1.0.6 | 586 | 4/6/2022 |
| 1.0.5 | 570 | 3/27/2022 |
| 1.0.4 | 565 | 3/23/2022 |
| 1.0.3 | 565 | 3/22/2022 |
| 1.0.2 | 600 | 3/13/2022 |
| 1.0.1 | 580 | 2/22/2022 |
| 1.0.0 | 596 | 2/16/2022 |
| 0.0.1 | 594 | 12/29/2021 |
fsharp.lexyacc