Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

HTML syntax highlighter v C# .NET

Aplikace postupně parsuje jednotlivé tagy. U těch se uchovává název tagu, signatura, atributy, tělo, rodič, pod tagy a typ tagu.

HtmlParser

Polovina aplikace je tvořena třídou HtmlParser, která dostane jako vstup čisté HTML (nebo cokoliv s podobnou syntaxí na bázi tagů) a vrací hlavní tag jakožto kořen, který má několik větví (většinou asi doctype a html). Kontroluji znak po znaku a když narazím na znak <, tak indikuji začátek tagu a postupně se parsuje. To znamená, že se zjistí signatura a typ tagu. Dále, když to není comment nebo tzv. plain text, tak se zjistí název tagu a jeho atributy (zda-li je má). Jestli je to typ párový, tak se zjistí tělo toho tagu (zjistí se konec tagu a vezme se vnitřek) a zavolá se znova parsovací metoda, protože na začátku těla je určitě nějaký tag.

Pozn.: I plain text je tady ve formě tagu, protože i takový HTML je validní.

<p>First line<br>Second line</p>

HtmlHighlighter

Druhá polovina aplikace je tvořena touto třídou, která formátuje výsledek parseru. Na začátku to řeší odsazení podle hloubky tagu. Pak se rozhoduje, jestli je to plain text, tak se jen přidá tělo toho tagu. Pak se zavolá metoda pro vložení signatury metody, ta si uvnitř zjistí jak má signatura vypadat, obarví atributy a jejich hodnoty a zvýrazní jméno tagu. Jestli je to tag párový, tak se zas volá metoda pro všechny její subtagy s hloubkou + 1. Až jsou všechny subtagy vybarvené, tak se přidá ukončovací tag.

V příští lekci, Úvod do WPF (Windows Presentation Foundation), se vrhneme na formulářové aplikace v C# .NET WPF.


Galerie

Program byl vytvořen v roce 2014.

 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 89x (279.47 kB)
Aplikace je včetně zdrojových kódů v jazyce C#

 

Všechny články v sekci
WPF - Okenní aplikace v C# .NET
Přeskočit článek
(nedoporučujeme)
Úvod do WPF (Windows Presentation Foundation)
Program pro vás napsal Jan Vargovský
Avatar
Uživatelské hodnocení:
3 hlasů
H̴̢̡̛̫̙̖̦͍̥̺̳̪͖̺̫̲͇̗̹̠̥͈̭͔̻̗͚̭̥̝͐̋͒̆̾̅͒̈̐̀̒̔̇̈̔̆̎̔͐̊͆̆̐̊̈͆̂̐̓̓͛̌̈́̈́̅̅̔̚̕̚͠͝͝͝͝ì̸͇͖̹̯̤͇͍̹̥̅͗͆̄̌͆͑̓̈́̓̊̈́͋̈́͛͊͛͂̇͋͒̿̃͐͌̐̚͝͝͝͝͝͝.̶̧̡̧̧̖̫̯̞͖̯̩̠̭̩͇͔̤̱̜̠̠̙͉͉̼̱͓̣͍̱͎͕̦͓̫̗̮̦͍͚̗͕̥̳͚̬̯̞̟͇̻̺̙͙̜͖̰̊͒̌̌̚͜͜͝
Aktivity