2016-06-30 64 views
1

我使用這個代碼從XML字符串獲取數據:如何過濾列表中排除元素,其中InnerText屬性不包含「見{」

XmlNodeList el = doc.GetElementsByTagName("WordDefinition"); 

如何過濾使用這個列表使排除這些因素的另一個列表,其中

el[??].InnerText不與一些空間,然後開始:

「見{」

注意我很樂意用任何方式過濾它。我曾嘗試使用一個.Where來做一些LINQ類型的查詢,但它看起來像XmlNodeList不允許我使用.Where。

+1

看在[這裏]的答案(http://stackoverflow.com/questions/21871908/converting-xmlnodelist -to-liststring)SO問題。 –

回答

2

使用OfType()Cast()之前Where()

..... 
XmlNodeList el = doc.GetElementsByTagName("WordDefinition"); 
var result = el.OfType<XmlNode>().Where(o => o.InnerText.Trim().StartsWith("See {")); 

dotnetfiddle demo

+0

修改此代碼以反轉結果的最佳方法是什麼?我使用「.Contains」來查找包含值的結果,但我希望它顯示不包含特定關鍵字的項目。 – Auguste

+1

@Auguste使用'!'反轉過濾器?像這樣:'... Where(o =>!o.SomeProperty.Contains(「some keyword」));' – har07

+0

它完美的工作。我正在把「!」在錯誤的地方簽名。再次感謝。 – Auguste

相關問題