我返回一個列表。這包含XML文件中不能爲空的xml節點的名稱。LINQ語句的WHERE問題
List<Setting> settingList = SettingsGateway.GetBySettingTypeList("VerifyField");
我有一個LINQ聲明。我試圖返回所有具有空節點的事務。這裏的列表是返回不能爲空的節點。有人知道我在這裏做錯了嗎?
下面的代碼應該綁定「交易」到DataGrid並顯示事務處理的具有所需要的空節點。
var transactionList =
from transactions in root.Elements(XName.Get("Transactions")).Elements().AsEnumerable()
where transactions.Elements().Any
(
el =>
//String.IsNullOrEmpty(el.Value) &&
//elementsThatCannotBeEmpty.Contains(el.Name)
settingList.Any(
name => String.IsNullOrEmpty(el.Element(name.SettingValue).Value)
)
)
select new
{
CustomerName = transactions.Element(XName.Get("CustomerName")).Value,
ConfirmationNumber = transactions.Element(XName.Get("ConfirmationNumber")).Value
};
GridView.DataSource = transactionList;
GridView.DataBind();
XML文件示例:
<OnlineBanking>
<Transactions>
<Txn>
<UserName>John Smith</UserName>
<CustomerStreet>123 Main</CustomerStreet>
<CustomerStreet2></CustomerStreet2>
<CustomerCity>New York</CustomerCity>
<CustomerState>NY</CustomerState>
<CustomerZip>12345</CustomerZip>
</Txn>
</Transactions>
</OnlineBanking>
目前尚不清楚爲什麼你」不要在你的內部lambda表達式中使用'name'。 'Setting'看起來像什麼? –
「不能爲空」是什麼意思? – dizzwave
在XML中,節點 CustomerStreet>不能爲空。 –
Turp