Question37686898 xpath select

CSharp · Console

/Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
using System.IO;

					
	public class Program
	{
		static string GetXml()
		{
			var xml = @"<Chart>
<History>
<Master_Medication_List>
<Item1>
<ndcnumber>00121478105</ndcnumber>
</Item1>
</Master_Medication_List>
</History>
</Chart>";
			return xml;
		}
	
		public static void Main()
		{
			var xmlString = GetXml();
			
			var objXml = new XmlDocument();
			objXml.LoadXml(xmlString);
			
			var strProductCode = @"00121478105";
			
			var itemList = objXml.SelectNodes("//Chart/History/Master_Medication_List/Item1[ndcnumber='" + strProductCode + "']");  
			
			Console.WriteLine("Number of selected Item1 elements: " + itemList.Count);
			foreach (XmlElement item in itemList)
				Console.WriteLine(item.OuterXml);
			Console.WriteLine("");
			
			var ndcnumberList = objXml.SelectNodes("//Chart/History/Master_Medication_List/Item1/ndcnumber[text()='" + strProductCode + "']");  
			
			Console.WriteLine("Number of selected ndcnumber elements: " + ndcnumberList.Count);
			foreach (XmlElement item in ndcnumberList)
				Console.WriteLine(item.OuterXml);
			Console.WriteLine("");
			
			var wildCardList = objXml.SelectNodes("//Chart/History/Master_Medication_List/Item1/*[text()='" + strProductCode + "']");  
			Console.WriteLine("Number of selected Item1/* elements: " + wildCardList.Count);
			foreach (XmlElement item in wildCardList)
				Console.WriteLine(item.OuterXml);
			Console.WriteLine("");
		}
	}
;