11
我的問題是關於有條件地創建XElements,也就是說,如果滿足某些條件,創建XElement,如果沒有,則跳過創建XElement?在這一點的時候,我可以創建空XElements,然後刪除所有空元素,通過檢查,如果爲IsEmpty是事實,但是,不知怎的,感覺不對......XDocument:有條件地創建新的XElement
我覺得,一個小例子可能是爲了:
XDocument doc = new XDocument(new XDeclaration("1.0","utf-8","yes"),
new XElement("Books",
new XElement("Book", new XElement("Title", "Essential LINQ"), new XElement("Author", "Charlie Calvert,Dinesh Kulkarni")),
new XElement("Book", new XElement("Title", "C# in Depth"), new XElement("Author", "Jon Skeet")),
new XElement("Book", new XElement("Title", "Some Title"), new XElement("Author", ""))
));
試想一下,該「作者」 - 元素是一個可選的元素,如果我們不知道作者,我們根本不把該元素在XML - 簡單,和在我看來,醜陋的解決方案是將元素創建爲空元素,然後將其刪除。
任何人都知道如何使一個優雅的解決方案,所以說這樣的事情:
condition_met ? new XElement("Author",variable_with_value) : do not create element
最好的問候,並隨時詢問進一步的信息,如果需要的話。
優秀的喬恩,謝謝 :) – 2010-10-21 19:20:24