我在c#中生成XML,例如,当我有很少的空标记时,
new XElement("TransLogID", "")
其中一些被渲染为
<TransLogID></TransLogID>
其中一些被渲染为
<TransLogID/>
什么控制何时扩展标签?我如何强迫他们采取我想要的行为?
答案 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/>
你确定你总是以同样的方式生成节点吗?