使用System.Xml.Linq命名空间显式元素关闭标记

Mat*_*ton 6 c# xml linq-to-xml

我使用(.NET 3.5 SP1)System.Xml.Linq命名空间来填充带有div标签的数据的html模板文档(然后将其保存到磁盘).有时div标签是空的,这在HTML方面似乎是一个问题.根据我的研究,DIV标签不是自动关闭的.因此,至少在Firefox下,a <div />被认为是一个没有匹配结束标记的开始div标签.

所以,当我通过声明创建新的div元素时:

XElement divTag = new XElement("div"); 
Run Code Online (Sandbox Code Playgroud)

如何强制生成的XML <div></div>代替<div />

Ste*_*ins 5

我不知道为什么你最终得到一个空的DIV(似乎有点无意义!)但是:

divTag.SetValue(string.Empty);
Run Code Online (Sandbox Code Playgroud)

应该这样做.