FSharp.HTML
1.0.1
See the version list below for details.
dotnet add package FSharp.HTML --version 1.0.1
NuGet\Install-Package FSharp.HTML -Version 1.0.1
<PackageReference Include="FSharp.HTML" Version="1.0.1" />
paket add FSharp.HTML --version 1.0.1
#r "nuget: FSharp.HTML, 1.0.1"
// Install FSharp.HTML as a Cake Addin #addin nuget:?package=FSharp.HTML&version=1.0.1 // Install FSharp.HTML as a Cake Tool #tool nuget:?package=FSharp.HTML&version=1.0.1
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 HtmlDocument:
let sourceText = ...
let doc = Parser.parseDoc sourceText
you can get a HtmlDocument
instance. see to ParserTest.fs
.
API
The user can parse the string through the functions in the Parser
module.
module FSharp.HTML.Parser
/// Parses input text as a HtmlDocument tree
let parseDoc txt = ...
/// Parses input text as a HtmlNode sequence, and ignore doctype.
let parseNodes txt = ...
You can also use a tokenizer to get a token sequence.
let tokens = Tokenizer.tokenize txt
The main structure types are defined as follows:
/// Represents an HTML node. The names of elements are always normalized to lowercase
type HtmlNode =
| HtmlElement of name:string * attributes:list<string*string> * elements:HtmlNode list
| HtmlText of content:string
| HtmlComment of content:string
| HtmlCData of content:string
/// Represents an HTML document
type HtmlDocument =
| HtmlDocument of docType:string * elements:HtmlNode list
type HtmlToken =
| DocType of string
| Text of string
| Comment of string
| CData of string
| TagSelfClosing of name:string * attrs:list<string*string>
| TagStart of name:string * attrs:list<string*string>
| TagEnd of name:string
| EOF
| SEMICOLON
All parsing processes in a package are public, and you are free to compose them to implement your functional requirements.
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. |
.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 (>= 6.0.3)
- FslexFsyacc.Runtime (>= 1.2.6)
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.0.17 | 181 | 9/9/2023 |
1.0.16 | 291 | 2/9/2023 |
1.0.15 | 320 | 12/21/2022 |
1.0.14 | 417 | 10/16/2022 |
1.0.13 | 441 | 6/27/2022 |
1.0.12 | 426 | 6/5/2022 |
1.0.11 | 438 | 5/31/2022 |
1.0.10 | 441 | 5/20/2022 |
1.0.9 | 442 | 5/8/2022 |
1.0.8 | 445 | 4/9/2022 |
1.0.7 | 451 | 4/6/2022 |
1.0.6 | 458 | 4/6/2022 |
1.0.5 | 439 | 3/27/2022 |
1.0.4 | 426 | 3/23/2022 |
1.0.3 | 429 | 3/22/2022 |
1.0.2 | 453 | 3/13/2022 |
1.0.1 | 449 | 2/22/2022 |
1.0.0 | 459 | 2/16/2022 |
0.0.1 | 466 | 12/29/2021 |
add feature that Simplely remove free whitespace