Anduin2017 / HSharp

HSharp is a library used to analyse markup language like HTML easily and fastly.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HSharp

MIT licensed Pipeline stat Test Coverage NuGet version) ManHours

HSharp is a library used to analyze markup language like HTML easily.

Only Two Functions

  • Deserialize and analyze HTML
  • Build HTML using C#

How to install

Using Nuget

To install Anduin.HSharp, run the following command in the Package Manager Console

PM> Install-Package Anduin.HSharp

Using .NET CLI tool

To install Anduin.HSharp, run the following command in any console:

dotnet add package Anduin.HSharp

Examples

Deserialize HTML

Input some HTML and get the DOM of it.

string exampleHtml = $@"
<html>
    <head>
        <meta charset=""utf-8"">
        <meta name=""viewport"">
        <title>Example</title>
    </head>
    <body>
        Some Text
        <table>
            <tr>OneLine</tr>
            <tr>TwoLine</tr>
            <tr>ThreeLine</tr>
        </table>
        Other Text
    </body>
</html>";
var doc = HtmlConvert.DeserializeHtml(exampleHtml);

Console.WriteLine(doc["html"]["head"]["meta",0].Properties["charset"]);
Console.WriteLine(doc["html"]["head"]["meta",1].Properties["name"]);
foreach (var line in doc["html"]["body"]["table"])
{
    Console.WriteLine(line.Son);
}

Output:

utf-8
viewport
OneLine
TwoLine
ThreeLine

Build HTML

Create a simple HDoc and add some children to its body.

var document = new HDoc(DocumentOptions.BasicHTML);
document["html"]["body"].AddChild("div");
document["html"]["body"]["div"].AddChild("a", new HProp("href", "/#"));
var result = document.GenerateHTML();

Output:

<html>
<head>
    <meta charset="utf-8"></meta>
    <title>
        Example
    </title>
</head>
<body>
    <div>
        <a href="/#"></a>
    </div>
</body>
</html>

HSharp can also operate other Markup languages like XML and XAML

About

HSharp is a library used to analyse markup language like HTML easily and fastly.

License:MIT License


Languages

Language:HTML 62.6%Language:C# 37.4%