xdocument tutorial query net manejo leer example ejemplos c# xml linq-to-xml

c# - tutorial - Etiquetas de cierre de elemento explícito con espacio de nombres System.Xml.Linq



xdocument c# example (4)

Estoy utilizando el espacio de nombres (.NET 3.5 SP1) System.Xml.Linq para rellenar un documento de plantilla html con etiquetas de datos div (y luego guardarlo en el disco). Algunas veces las etiquetas div están vacías y esto parece ser un problema cuando se trata de HTML. De acuerdo con mi investigación, la etiqueta DIV no es de cierre automático. Por lo tanto, al menos en Firefox, una <div /> se considera una etiqueta div de apertura sin una etiqueta de cierre coincidente.

Entonces, cuando creo nuevos elementos div declarando:

XElement divTag = new XElement("div");

¿Cómo puedo forzar que el XML generado sea <div></div> lugar de <div /> ?


No estoy seguro de por qué terminarías con un DIV vacío (¡parece un poco inútil!) Pero:

divTag.SetValue(string.Empty);

Deberías hacerlo.


No sé la respuesta a tu pregunta usando LINQ. Pero hay un proyecto llamado HTML Agility Pack en codeplex que le permite crear y manipular documentos HTML de forma muy similar a la forma en que podemos manipular el documento XML utilizando las clases de espacio de nombres System.Xml.


Con XElement divTag = new XElement ("div", String.Empty); obtienes la etiqueta de cierre explícita


Hice esto. Trabajando como se esperaba

myXml = new XElement("script", new XAttribute("src", "value")); myXml .Value = "";

Que da a continuación como resultado.

<script src = "value"></script>