#c# #.net #xml #sharepoint #xelement
#c# #.net #xml #sharepoint #xelement
Вопрос:
Я генерирую XML в своем c #, например, когда у меня мало пустых тегов,
new XElement("TransLogID", "")
некоторые из них отображаются как
<TransLogID></TransLogID>
в то время как некоторые из них отображаются как
<TransLogID/>
Что определяет, когда теги будут расширены, а когда нет? Как я могу заставить их вести себя так, как я хочу?
Ответ №1:
Я думаю, что они имеют разное происхождение.
Root.Add(new XElement("TransLogID1", ""));
Root.Add(new XElement("TransLogID2"));
даст
<TransLogID1></TransLogID1>
<TransLogID2/>
Оба элемента будут иметь пустые коллекции элементов / узлов, тонкое различие заключается в том, что TransLogID2 будет иметь isEmpty= true .
Ответ №2:
Если ваш контент представляет собой пустую строку ( new XElement("TransLogID", "")
), он будет отображаться как
<TransLogID></TransLogID>
Но если это значение равно null ( new XElement("TransLogID", null)
), оно будет отображаться как
<TransLogID/>
Вы уверены, что всегда генерируете узлы одним и тем же способом?