HtmlAgilityPack markup non valido

c# html html-agility-pack

Domanda

Sto usando HtmlAgilityPack da codeplex. Quando passo una semplice stringa html e poi restituisco l'html risultante, taglia i tag.

Esempio:

string html = "<select><option>test</option></select>";
HtmlDocument document = new HtmlDocument();
document.LoadHtml(html);

var result = d.DocumentNode.OuterHtml;

// result gives me:
<select><option>test</select>

Quindi manca il tag di chiusura per l'opzione. Mi manca un'impostazione o utilizzo errato?

Risposta accettata

Ho risolto questo problema commentando la riga 92 di HtmlNode.cs nell'origine, compilata e funzionava come un incantesimo.

ElementsFlags.Add("option", HtmlElementFlag.Empty); // comment this out

Ho trovato la risposta a questa domanda


Risposta popolare

In HTML il tag non ha tag di fine.

In XHTML il tag deve essere chiuso correttamente.

http://www.w3schools.com/tags/tag_option.asp

"Non c'è nemmeno aderenza a XHTML o XML" - HTML Agility Pack .

Questo potrebbe essere il motivo? La mia ipotesi è che se il tag è opzionale, Agility Pack lo lascerà fuori. Spero che questo ti aiuti!




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché