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

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#