Xelement扩展空标签

时间:2011-11-10 19:12:29

标签: c# .net xml sharepoint xelement

我在c#中生成XML,例如,当我有很少的空标记时,

 new XElement("TransLogID", "")

其中一些被渲染为

<TransLogID></TransLogID>

其中一些被渲染为

<TransLogID/>

什么控制何时扩展标签?我如何强迫他们采取我想要的行为?

2 个答案:

答案 0 :(得分:6)

我认为你错了。

Root.Add(new XElement("TransLogID1", ""));
Root.Add(new XElement("TransLogID2"));

将给出

<TransLogID1></TransLogID1>
<TransLogID2/>

两个元素都将具有空元素/节点集合,细微差别在于TransLogID2将具有IsEmpty = true。

答案 1 :(得分:3)

如果您的内容为空字符串(new XElement("TransLogID", "")),则会呈现为

<TransLogID></TransLogID>

但是如果它为null(new XElement("TransLogID", null)),它将呈现为

<TransLogID/>

你确定你总是以同样的方式生成节点吗?