Skip to content
/ HSharp Public
forked from Anduin2017/HSharp

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

License

Notifications You must be signed in to change notification settings

nov14/HSharp

 
 

Repository files navigation

HSharp

NuGet version (Newtonsoft.Json) Join the chat at https://gitter.im/AnduinHSharp/Lobby Build Status Coverage Status Issues

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

HSharp is based on .NET Standard 2.0 and supports .NET Framework, .NET Core and Xamarin.

Current version: 2.1.0

Only Two Functions

  • Deserialize and analyse HTML
  • Build HTML using C#

How to install

Using Nuget

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

PM> Install-Package Aiursoft.HSharp

Using .NET CLI tool

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

dotnet add package Aiursoft.HSharp

Examples

Deserialize HTML

Input some HTML and get the DOM of it.

var newDocument = HtmlConvert.DeserializeHtml($@"
<html>
    <head>
        <meta charset={"\"utf-8\""}>
        <meta name={"\"viewport\""}>
        <title>Example</title>
    </head>
<body>
    <h1>Some Text</h1>
    <table>
        <tr>OneLine</tr>
        <tr>TwoLine</tr>
        <tr>ThreeLine</tr>
    </table>
</body>
</html>");

Console.WriteLine(newDocument["html"]["head"]["meta",0].Properties["charset"]);
Console.WriteLine(newDocument["html"]["head"]["meta",1].Properties["name"]);
foreach (var line in newDocument["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 language like XML and XAML

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 91.2%
  • HTML 8.8%