HSharp is a library used to analyse markup language like HTML easily and fastly.
Branch: master
Clone or download
Latest commit 8be1121 Dec 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Aiursoft.HSharp.Example Using new naming rule. Dec 6, 2018
Aiursoft.HSharp Upgrade HSharp api level to 2.1.0. Dec 6, 2018
.gitignore Initial commit Jun 19, 2016
.travis.yml Modify readme and travis config file. Aug 9, 2018
Aiursoft.HSharp.sln Using independent example. Aug 9, 2018
LICENSE Upgrade api level to 2.0.1. Aug 9, 2018
README.md Update README.md Dec 6, 2018

README.md

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