使用System.Xml.Linq命名空间显式元素关闭标记
我正在使用(.NET 3.5 SP1)System.Xml.Linq命名空间用数据的div标签填充html模板文档(然后将其保存到磁盘)。 有时div标签是空的,这在HTML方面似乎是一个问题。 根据我的研究,DIV标签不是自动关闭的。 因此,至少在Firefox下,
所以,当我通过声明创建新的div元素时:
XElement divTag = new XElement("div");
如何强制生成的XML为
而不是
我不知道为什么你最终得到一个空的DIV(似乎有点无意义!)但是:
divTag.SetValue(string.Empty);
应该这样做。
使用XElement divTag = new XElement(“div”,String.Empty); 你得到明确的结束标记
我不知道使用LINQ的问题的答案。 但是在codeplex上有一个名为HTML Agility Pack的项目,它允许您创建和操作HTML文档,这与我们使用System.Xml命名空间类操作XML文档的方式非常相似。
我这样做了 按预期工作。
myXml = new XElement("script", new XAttribute("src", "value")); myXml .Value = "";
结果如下。