6

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

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

XElement divTag = new XElement("div"); 

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

4

4 回答 4

5

我不确定为什么你会得到一个空的 DIV(似乎有点毫无意义!)但是:

divTag.SetValue(string.Empty);

应该这样做。

于 2009-01-20T19:43:46.873 回答
2

使用 XElement divTag = new XElement("div", String.Empty); 你得到明确的结束标签

于 2009-12-10T17:05:29.993 回答
1

我不知道使用 LINQ 的问题的答案。但是在 codeplex 上有一个名为HTML Agility Pack的项目,它允许您创建和操作 HTML 文档,这与我们使用 System.Xml 命名空间类操作 XML 文档的方式非常相似。

于 2009-01-20T19:42:18.797 回答
0

我这样做了。按预期工作。

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

结果如下。

<script src = "value"></script>
于 2017-03-23T06:29:36.663 回答