0
我正在使用C#查詢數據庫並創建DataTable
。從這個DataTable
我使用LINQ to XML來創建一個XML文件。LINQ to XML:如果值爲DBNull.Value,請不要創建XAttribute
我的問題是,對於數據表中的空列,當我在元素上調用SetAttributeValue時,它會創建一個空白屬性。如果值爲null
,SetAttributeValue(name, value)
根本不會添加該屬性。有沒有一種方法可以模仿DBNull.Value
這種行爲?我不想檢查每一行和列,看看值是否等於DBNull.Value
。
預計:
<Root>
<Element1 E1="Test"/>
</Root>
實際:
<Root>
<Element1 E1="Test" E2=""/>
</Root>
代碼元素1:
DataTable testTable = new DataTable();
testTable.Columns.Add("E1");
testTable.Columns.Add("E2");
testTable.Rows.Add("Test", DBNull.Value);
XElement element = new XElement("Element1");
element.SetAttributeValue("E1", testTable.AsEnumerable().Select(item => item["E1"]));
element.SetAttributeValue("E2", testTable.AsEnumerable().Select(item => item["E2"]));
return element;
將添加具有預期行爲和不預期行爲的XML文件。 – 2014-09-22 19:41:26
你可以顯示從DataTable轉換到Xml的代碼嗎? – 2014-09-22 20:01:42