FSharp.HTML
1.0.17
dotnet add package FSharp.HTML --version 1.0.17
NuGet\Install-Package FSharp.HTML -Version 1.0.17
<PackageReference Include="FSharp.HTML" Version="1.0.17" />
paket add FSharp.HTML --version 1.0.17
#r "nuget: FSharp.HTML, 1.0.17"
// Install FSharp.HTML as a Cake Addin #addin nuget:?package=FSharp.HTML&version=1.0.17 // Install FSharp.HTML as a Cake Tool #tool nuget:?package=FSharp.HTML&version=1.0.17
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 = ...
let doctype,nodes = HtmlUtils.parseDoc sourceText
doctype is a string that is extracted from doctype tag. and nodes is a HtmlNode list
.
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
Parse only html structures without changing the content. Please use HtmldocCompiler.compile
. In fact, the HtmlUtils.parseDoc
is defined as follows:
let parseDoc (txt:string) =
let doctype,nodes =
txt
|> HtmldocCompiler.compile
let nodes =
nodes
|> List.map Whitespace.removeWS
|> Whitespace.trimWhitespace
|> List.map HtmlCharRefs.unescapseNode
doctype,nodes
Knowing the above code, you can determine the parsing result as your needs.
generate html source text:
Render.stringifyNode
Render.stringifyDoc
HtmlUtils.stringifyNode
HtmlUtils.stringifyDoc
some transform:
BrRemover.splitByBr
HrRemover.splitByHr
API
The user can parse the string through the functions in the HtmlUtils
module.
You can also use a tokenizer to get a token sequence.
let tokens = HtmlTokenizer.tokenize txt
The main structure types are defined as follows:
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 (>= 7.0.400)
- FslexFsyacc.Runtime (>= 1.3.10)
- System.Reactive (>= 6.0.0)
- System.Text.Encoding.CodePages (>= 7.0.0)
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 |
update nuget