的名單我有以下的XMLNode(串),其價值將是少數特定類型即:如何使用string.Contains的值
"Ansi_nulls","Encrypted","Quoted_identifer" etc.
我想用xmlNode.Contains ("xxx","yyy")
測試的XMLNode ..
什麼是正確的語法?
的名單我有以下的XMLNode(串),其價值將是少數特定類型即:如何使用string.Contains的值
"Ansi_nulls","Encrypted","Quoted_identifer" etc.
我想用xmlNode.Contains ("xxx","yyy")
測試的XMLNode ..
什麼是正確的語法?
如果要測試的節點的完全(完整)的值,可以通過反轉調用做到這一點;檢查已知值的列表,包含當前節點值:
new[]{"Ansi_nulls","Encrypted","Quoted_identifer", ...}.Contains(xmlNode);
一個簡單的if語句將工作:
if (xmlNode.Contains("xxx") && xmlNode.Contains("yyy"))
{
// your work
}
包含採用一個字符串來測試。
一個爲您解決問題的方法是使用一個簡單的正則表達式
using System.Text.RegularExpressions;
if (Regex.IsMatch(nodevalue, "(Ansi_nulls|Encrypted|Quoted_identifer)")...
if (new[] {"xxx","yyy"}.Any(n => xmlNode.Contains(n)))
我會用sehes解決方案創建一個擴展方法:
public static bool Contains(this string source, params string[] values)
{
return values.Any(value => source.Contains(value));
}
這樣,你可以調用:
xmlNode.Contains("string", "something else");
請注意,這將只允許完全匹配,不等同於OP ['xmlNode.Contains(「xxx」,「yyy」)'這也會子串](http://msdn.microsoft.com/en-us/library/dy85x1sa。 ASPX) – sehe 2011-05-07 08:32:10