如何通过if语句中的字符串列表进行迭代和比较

时间:2014-01-09 02:56:58

标签: c# if-statement xml-parsing

我正在解析XML并从XML中提取所选标记值并将其存储在List中。 然后我想在gridview中显示这些值。但是如何在“IF”条件循环内比较多个值的这些值。

protected List<QueueListItems> GetQueueDetails(string xmlfile)
{
    var listofitems = new List<QueueListItems>();

    XmlDocument xdoc = new XmlDocument();
    xdoc.Load(xmlfile);
    // XmlNodeList itemnodes = xdoc.SelectNodes("//PublisherProperty/Name");
    XmlNodeList itemnodes = xdoc.GetElementsByTagName("PublisherProperty");
    foreach (XmlElement node in itemnodes)
    {
        if (node.FirstChild.InnerText = "Channel" || "QueueManager" || "QueueServer" || "QueueName")
            {
                listofitems.Add(new QueueListItems()
                {
                    Text = node.FirstChild.InnerText,
                    Value = node.FirstChild.NextSibling.InnerText
                });
            }
        }
        return listofitems;
    }

我的XML如下所示: -

'<'PublisherProperty'>''<br/>
'<'Name'>'Channel'<'/Name'>'<br/>
'<'Value'>'943'<'/Value'>'<br/>
'<'PublisherID'>'PUBLISHER'<'/PublisherID'>'<br/>
'<'/PublisherProperty'>'<br/>
'<'PublisherProperty'>'<br/>
'<'Name'>'Queue'<'/Name'>'<br/>
'<'Value'>'q123'<'/Value'>'<br/>
'<'PublisherID'>'PUBLISHER'<'/PublisherID'>'<br/>
'<'/PublisherProperty'>'<br/>
'<'PublisherProperty'>'<br/>
'<'Name'>'QueueServer'<'/Name'>'<br/>
'<'Value'>'U4VMMQSIT02'<'/Value'>'<br/>
'<'PublisherID'>'PUBLISHER'<'/PublisherID'>'<br/>
'<'/PublisherProperty'>'<br/>
'<'PublisherProperty'>'<br/>
'<'Name'>'QueueName'<'/Name'>'<br/>
'<'Value'>'SIT</Value'>'<br/>
'<'PublisherID'>'PUBLISHER'<'/PublisherID'>'<br/>
'<'/PublisherProperty'>'<br/>
'<'PublisherProperty'>'<br/>
'<'Name'>'QueuePort'<'/Name'>'<br/>
'<'Value'>'2454'<'/Value'>'<br/>
'<'PublisherID'>'PUBLISHER'<'/PublisherID'>'<br/>
'<'/PublisherProperty'>'<br/>
'<'PublisherProperty'>'<br/>
'<'Name'>'QueueWaitInterval'<'/Name'>'<br/>
'<'Value'>'-1'<'/Value'>'<br/>
'<'PublisherID'>'PUBLISHER'<'/PublisherID'>'<br/>
'<'/PublisherProperty'>'<br/>
'<'PublisherProperty'>'<br/>
'<'Name'>'Exception</Name'>'<br/>
'<'Value'>'9501</Value'>'<br/>
'<'PublisherID'>'PUBLISHER'<'/PublisherID'>'<br/>
'<'/PublisherProperty'>'<br/>
'<'PublisherProperty'>'<br/>
'<'Name'>'ExceptionText'<'/Name'>'<br/>
'<'Value'>' Error'<'/Value'>'<br/>
'<'PublisherID'>'PUBLISHER '<'/PublisherID'>'<br/>
'<'/PublisherProperty'>'<br/>
'<'PublisherProperty'>'<br/>
'<'Name'>'MsgElement'<'/Name'>'<br/>
'<'Value'>'null</Value'>'<br/>
'<'PublisherID'>'PUBLISHER'<'/PublisherID'>'<br/>
'<'/PublisherProperty'>'<br/>

1 个答案:

答案 0 :(得分:1)

你可以构建一个集合,看看它是否在那里。

if (new[] { "Channel", "QueueManager", "QueueServer" , "QueueName" }.Contains( node.FirstChild.InnerText)){ }