HtmlAgilityPack marcado inválido

c# html html-agility-pack

Pregunta

Estoy usando el HtmlAgilityPack de codeplex. Cuando le paso una cadena html simple y luego recupero el código html resultante, se cortan las etiquetas.

Ejemplo:

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>

Por lo tanto, falta la etiqueta de cierre para la opción. ¿Me estoy perdiendo un ajuste o estoy usando esto mal?

Respuesta aceptada

Arreglo esto comentando la línea 92 de HtmlNode.cs en la fuente, compilada y funcionó a la perfección.

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

Encontré la respuesta a esta pregunta.


Respuesta popular

En HTML la etiqueta no tiene etiqueta final.

En XHTML la etiqueta debe estar correctamente cerrada.

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

"Tampoco hay adherencia a XHTML o XML" - HTML Agility Pack .

Esto podría ser por qué? Mi conjetura es que si la etiqueta es opcional, el paquete Agility lo dejará apagado. ¡Espero que esto ayude!



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué