我正在解析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/>
答案 0 :(得分:1)
你可以构建一个集合,看看它是否在那里。
if (new[] { "Channel", "QueueManager", "QueueServer" , "QueueName" }.Contains( node.FirstChild.InnerText)){ }