HtmlAgilityPack balise invalide

c# html html-agility-pack

Question

J'utilise le HtmlAgilityPack de codeplex. Lorsque je lui passe une simple chaîne html puis que je récupère le code html obtenu, il supprime les balises.

Exemple:

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>

Donc, la balise de fermeture pour l'option est manquante. Est-ce que je manque un réglage ou utilise ce faux?

Réponse acceptée

J'ai corrigé cela en commentant la ligne 92 de HtmlNode.cs dans le source, compilée et cela fonctionnait comme un charme

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

Trouvé la réponse à cette question


Réponse populaire

En HTML, la balise n'a pas de balise de fin.

En XHTML, la balise doit être correctement fermée.

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

"Il n'y a pas non plus d'adhésion à XHTML ou XML" - HTML Agility Pack .

Cela pourrait être pourquoi? Je suppose que si le tag est facultatif, le pack Agility le laissera inactif. J'espère que cela t'aides!




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi