public static void Main()
var identifier = "circulations/circulation";
XmlDocument opacRecord = new XmlDocument();
opacRecord.LoadXml("<holdings><holding><typeOfRecord>c</typeOfRecord><encodingLevel>5</encodingLevel><format>cr</format><receiptAcqStatus>2</receiptAcqStatus><generalRetention>1</generalRetention><completeness>n</completeness><dateOfReport> 00</dateOfReport><nucCode>University of Colorado Boulder</nucCode><localLocation>Online</localLocation><shelvingLocation>Online</shelvingLocation><callNumber>PZ8.3.G276Gr*</callNumber><circulations><circulation><availableNow value=\"1\" /><availableThru>PZ8.3.G276Gr* 1</availableThru><renewable value=\"0\" /><onHold value=\"0\" /><temporaryLocation>Online</temporaryLocation></circulation></circulations></holding></holdings>");
XmlNodeList nodeList = opacRecord.SelectNodes(string.Format("//{0} | //holding", identifier));
Console.WriteLine(nodeList.Count);
foreach (XmlNode node in nodeList)
Console.WriteLine(node.InnerText);
opacRecord.LoadXml(@"<holdings>
<typeOfRecord>n</typeOfRecord>
<encodingLevel>7</encodingLevel>
<receiptAcqStatus>0</receiptAcqStatus>
<completeness>i</completeness>
<dateOfReport> 10</dateOfReport>
<nucCode>University of Colorado Boulder</nucCode>
<localLocation>Norlin</localLocation>
<shelvingLocation>Norlin Stacks</shelvingLocation>
<callNumber>CB353 .C655 2005</callNumber>
<availableNow value=""1"" />
<availableThru>CB353 .C655 2005 1</availableThru>
<itemId>U183045540485</itemId>
<renewable value=""0"" />
<temporaryLocation>Norlin Stacks</temporaryLocation>
<availableNow value=""1"" />
<availableThru>CB353 .C655 2005 1</availableThru>
<itemId>U183045540493</itemId>
<renewable value=""0"" />
<temporaryLocation>Norlin Stacks</temporaryLocation>
nodeList = opacRecord.SelectNodes(string.Format("//{0} | //holding", identifier));
Console.WriteLine(nodeList.Count);
foreach (XmlNode node in nodeList)
Console.WriteLine(node.InnerText);