document.write('\
<div class="poshcode code posh">\
<style type="text/css">\
');
document.write("/**\
 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\
 * (http://qbnz.com/highlighter/ and http://geshi.org/)\
 */\
.posh .de1, .posh .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}\
.posh  {font-family:monospace;}\
.posh .imp {font-weight: bold; color: red;}\
.posh li, .posh .li1 {background: #ffffff;}\
.posh .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}\
.posh .li2 {background: #eeeeee;}\
.posh .kw1 {color: #666699; font-weight: bold;}\
.posh .kw2 {color: #333399; font-weight: bold; font-style: italic;}\
.posh .kw3 {color: #003366; font-weight: bold;}\
.posh .kw4 {color: #660033;}\
.posh .co1 {color: #666666; font-style: italic;}\
.posh .coMULTI {color: #666666; font-style: italic;}\
.posh .es0 {color: #000099; font-weight: bold;}\
.posh .br0 {color: #333;}\
.posh .sy0 {color: #66cc66;}\
.posh .st0 {color: #009900;}\
.posh .nu0 {color: #cc66cc;}\
.posh .me1 {color: #003366;}\
.posh .me2 {color: #003366;}\
.posh .re0 {color: #0066cc; font-style: italic;}\
.posh .re1 {font-style: normal;}\
.posh .re2 {color: #000066;}\
.posh .re3 {color: #660033; font-weight: bold;}\
.posh .re4 {color: #003366; font-weight: bold;}\
.posh span.xtra { display:block; }\
");
document.write(".posh ol {float:left; margin: 0px !important; padding: 0px; min-width:100% !important; list-style-position: inside;}\
.posh li.li2, .posh li.li1 {list-style-type:decimal-leading-zero; white-space:nowrap; padding:0 1em 0 0.5em;}\
.posh li {color: #ccc;}\
.posh li div {color: #000; display: inline;}\
.syntax {background:none repeat scroll 0 0 #eee; border:0.5em solid #ccc;}\
.syntax .posh {overflow: auto;}\
.syntax .poshcredit {\
background-color:#eaeaea; color:#666;\
padding:0.5em 1em; clear:both;\
font-size:85%;\
}");
document.write("\n</style>");
document.write('<div class="syntax"><div class="posh" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="co1">#requires -version 2.0</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># Select-Xml 2.2 and Remove-XmlNamespace</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># Version History:</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># Select-Xml 2.0 was the first script version I wrote, and it didn\'t function identically to the built-in Select-Xml with regards to parameter parsing</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># Select-Xml 2.1 matched the built-in Select-Xml parameter sets, it\'s now a drop-in replacement if you were using the original with: Select-Xml ... | Select-Object -Expand Node</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># Select-Xml 2.2 fixes a bug in the -Content parameterset where -RemoveNamespace was *presumed*</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2">&nbsp;</div></li>\
<li class="li1"><div class="de1"><span class="kw1">function</span> <span class="re0">Select-<span class="re1">Xml</span></span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#.Synopsis</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp;The Select-XML cmdlet lets you use XPath queries to search for text in XML strings and documents. Enter an XPath query, and use the Content, Path, or Xml parameter to specify the XML to be searched.</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#.Description</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp;Improves over the built-in Select-XML by leveraging Remove-XmlNamespace to provide a -RemoveNamespace parameter -- if it\'s supplied, all of the namespace declarations and prefixes are removed from all XML nodes (by an XSL transform) before searching. &nbsp;</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># &nbsp;</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp;However, only raw XmlNodes are returned from this function, so the output isn\'t currently compatible with the built in Select-Xml, but is equivalent to using Select-Xml ... | Select-Object -Expand Node</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp;Also note that if the -RemoveNamespace switch is supplied the returned results *will not* have namespaces in them, even if the input XML did, and entities get expanded automatically.</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#.Parameter Content</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp;Specifies a string that contains the XML to search. You can also pipe strings to Select-XML.</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#.Parameter Namespace</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp; Specifies a hash table of the namespaces used in the XML. Use the format @{&lt;namespaceName&gt; = &lt;namespaceUri&gt;}.</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#.Parameter Path</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp; Specifies the path and file names of the XML files to search. &nbsp;Wildcards are permitted.</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#.Parameter Xml</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp;Specifies one or more XML nodes to search.</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#.Parameter XPath</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp;Specifies an XPath search query. The query language is case-sensitive. This parameter is required.</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#.Parameter RemoveNamespace</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp;Allows the execution of XPath queries without namespace qualifiers. </span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># &nbsp;</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp;If you specify the -RemoveNamespace switch, all namespace declarations and prefixes are actually removed from the Xml before the XPath search query is evaluated, and your XPath query should therefore NOT contain any namespace prefixes.</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># </span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp;Note that this means that the returned results *will not* have namespaces in them, even if the input XML did, and entities get expanded automatically.</span></div></li>\
<li class="li2"><div class="de2"><span class="br0">&#91;</span>CmdletBinding<span class="br0">&#40;</span>DefaultParameterSetName<span class="sy0">=</span><span class="st0">&quot;Xml&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li1"><div class="de1"><span class="kw1">PARAM</span><span class="br0">&#40;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="br0">&#91;</span>Parameter<span class="br0">&#40;</span>Position<span class="sy0">=</span><span class="nu0">1</span>,ParameterSetName<span class="sy0">=</span><span class="st0">&quot;Path&quot;</span>,Mandatory<span class="sy0">=</span><span class="re3">$true</span>,ValueFromPipelineByPropertyName<span class="sy0">=</span><span class="re3">$true</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="br0">&#91;</span>ValidateNotNullOrEmpty<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="br0">&#91;</span>Alias<span class="br0">&#40;</span><span class="st0">&quot;PSPath&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="re4"><span class="br0">&#91;</span><span class="kw3">String</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#93;</span></span><span class="re3">$Path</span></div></li>\
<li class="li2"><div class="de2">,</div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="br0">&#91;</span>Parameter<span class="br0">&#40;</span>Position<span class="sy0">=</span><span class="nu0">1</span>,ParameterSetName<span class="sy0">=</span><span class="st0">&quot;Xml&quot;</span>,Mandatory<span class="sy0">=</span><span class="re3">$true</span>,ValueFromPipeline<span class="sy0">=</span><span class="re3">$true</span>,ValueFromPipelineByPropertyName<span class="sy0">=</span><span class="re3">$true</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="br0">&#91;</span>ValidateNotNullOrEmpty<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="br0">&#91;</span>Alias<span class="br0">&#40;</span><span class="st0">&quot;Node&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="re4"><span class="br0">&#91;</span><span class="kw3">System</span>.<span class="kw3">Xml</span>.<span class="me1">XmlNode</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#93;</span></span><span class="re3">$Xml</span></div></li>\
<li class="li1"><div class="de1">,</div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="br0">&#91;</span>Parameter<span class="br0">&#40;</span>ParameterSetName<span class="sy0">=</span><span class="st0">&quot;Content&quot;</span>,Mandatory<span class="sy0">=</span><span class="re3">$true</span>,ValueFromPipeline<span class="sy0">=</span><span class="re3">$true</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="br0">&#91;</span>ValidateNotNullOrEmpty<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="re4"><span class="br0">&#91;</span><span class="kw3">String</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#93;</span></span><span class="re3">$Content</span></div></li>\
<li class="li1"><div class="de1">,</div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="br0">&#91;</span>Parameter<span class="br0">&#40;</span>Position<span class="sy0">=</span><span class="nu0">0</span>,Mandatory<span class="sy0">=</span><span class="re3">$true</span>,ValueFromPipeline<span class="sy0">=</span><span class="re3">$false</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="br0">&#91;</span>ValidateNotNullOrEmpty<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="br0">&#91;</span>Alias<span class="br0">&#40;</span><span class="st0">&quot;Query&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="re4"><span class="br0">&#91;</span><span class="kw3">String</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#93;</span></span><span class="re3">$XPath</span></div></li>\
<li class="li2"><div class="de2">,</div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="br0">&#91;</span>Parameter<span class="br0">&#40;</span>Mandatory<span class="sy0">=</span><span class="re3">$false</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="br0">&#91;</span>ValidateNotNullOrEmpty<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="re4"><span class="br0">&#91;</span><span class="kw3">Hashtable</span><span class="br0">&#93;</span></span><span class="re3">$Namespace</span></div></li>\
<li class="li2"><div class="de2">,</div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="re4"><span class="br0">&#91;</span><span class="kw1">Switch</span><span class="br0">&#93;</span></span><span class="re3">$RemoveNamespace</span></div></li>\
<li class="li2"><div class="de2"><span class="br0">&#41;</span></div></li>\
<li class="li1"><div class="de1"><span class="kw1">BEGIN</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="kw1">function</span> <span class="re0">Select-<span class="re1">Node</span></span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="kw1">PARAM</span><span class="br0">&#40;</span><span class="re4"><span class="br0">&#91;</span><span class="kw3">Xml</span>.<span class="me1">XmlNode</span><span class="br0">&#93;</span></span><span class="re3">$Xml</span>, <span class="re4"><span class="br0">&#91;</span><span class="kw3">String</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#93;</span></span><span class="re3">$XPath</span>, <span class="re3">$NamespaceManager</span><span class="br0">&#41;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="kw1">BEGIN</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re3">$node</span> <span class="kw1">in</span> <span class="re3">$xml</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="re3">$NamespaceManager</span> <span class="re2">-is</span> <span class="re4"><span class="br0">&#91;</span><span class="kw3">Hashtable</span><span class="br0">&#93;</span></span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re3">$nsManager</span> <span class="sy0">=</span> <span class="re0">new-<span class="re1">object</span></span> <span class="kw3">System</span>.<span class="kw3">Xml</span>.<span class="me1">XmlNamespaceManager</span> <span class="re3">$node</span>.<span class="me1">NameTable</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re3">$ns</span> <span class="kw1">in</span> <span class="re3">$Namespace</span>.<span class="me1">GetEnumerator</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re3">$nsManager</span>.<span class="me1">AddNamespace</span><span class="br0">&#40;</span> <span class="re3">$ns</span>.<span class="me1">Key</span>, <span class="re3">$ns</span>.<span class="me1">Value</span> <span class="br0">&#41;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re3">$path</span> <span class="kw1">in</span> <span class="re3">$xpath</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re3">$node</span>.<span class="me1">SelectNodes</span><span class="br0">&#40;</span><span class="re3">$path</span>, <span class="re3">$NamespaceManager</span><span class="br0">&#41;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span> &nbsp;<span class="br0">&#125;</span> &nbsp;<span class="br0">&#125;</span> &nbsp;<span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2">&nbsp;</div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="re4"><span class="br0">&#91;</span>Text.<span class="me1">StringBuilder</span><span class="br0">&#93;</span></span><span class="re3">$XmlContent</span> <span class="sy0">=</span> <span class="re4"><span class="br0">&#91;</span><span class="kw3">String</span><span class="br0">&#93;</span></span>::<span class="me2">Empty</span></div></li>\
<li class="li2"><div class="de2"><span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2"><span class="kw1">PROCESS</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="re3">$NSM</span> <span class="sy0">=</span> <span class="re3">$Null</span>; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re3">$PSBoundParameters</span>.<span class="me1">ContainsKey</span><span class="br0">&#40;</span><span class="st0">&quot;Namespace&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="re3">$NSM</span> <span class="sy0">=</span> <span class="re3">$Namespace</span> <span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2">&nbsp;</div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="kw1">switch</span><span class="br0">&#40;</span><span class="re3">$PSCmdlet</span>.<span class="me1">ParameterSetName</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="st0">&quot;Content&quot;</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re3">$null</span> <span class="sy0">=</span> <span class="re3">$XmlContent</span>.<span class="me1">AppendLine</span><span class="br0">&#40;</span> <span class="re3">$Content</span> <span class="re2">-Join</span> <span class="st0">&quot;<span class="es0">`n</span>&quot;</span> <span class="br0">&#41;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="st0">&quot;Path&quot;</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re3">$file</span> <span class="kw1">in</span> <span class="re0">Get-<span class="re1">ChildItem</span></span> <span class="re3">$Path</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re4"><span class="br0">&#91;</span><span class="kw3">Xml</span><span class="br0">&#93;</span></span><span class="re3">$Xml</span> <span class="sy0">=</span> <span class="re0">Get-<span class="re1">Content</span></span> <span class="re3">$file</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re3">$RemoveNamespace</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re3">$Xml</span> <span class="sy0">=</span> <span class="re0">Remove-<span class="re1">XmlNamespace</span></span> <span class="re3">$Xml</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">Select-<span class="re1">Node</span></span> <span class="re3">$Xml</span> <span class="re3">$XPath</span> &nbsp;<span class="re3">$NSM</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="st0">&quot;Xml&quot;</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re3">$node</span> <span class="kw1">in</span> <span class="re3">$Xml</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re3">$RemoveNamespace</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re3">$node</span> <span class="sy0">=</span> <span class="re0">Remove-<span class="re1">XmlNamespace</span></span> <span class="re3">$node</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">Select-<span class="re1">Node</span></span> <span class="re3">$node</span> <span class="re3">$XPath</span> <span class="re3">$NSM</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2"><span class="kw1">END</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="re3">$PSCmdlet</span>.<span class="me1">ParameterSetName</span> <span class="re2">-eq</span> <span class="st0">&quot;Content&quot;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="re4"><span class="br0">&#91;</span><span class="kw3">Xml</span><span class="br0">&#93;</span></span><span class="re3">$Xml</span> <span class="sy0">=</span> <span class="re3">$XmlContent</span>.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re3">$RemoveNamespace</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re3">$Xml</span> <span class="sy0">=</span> <span class="re0">Remove-<span class="re1">XmlNamespace</span></span> <span class="re3">$Xml</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="re0">Select-<span class="re1">Node</span></span> <span class="re3">$Xml</span> <span class="re3">$XPath</span> &nbsp;<span class="re3">$NSM</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2"><span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2"><span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2">&nbsp;</div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2">&nbsp;</div></li>\
<li class="li1"><div class="de1"><span class="kw1">function</span> <span class="re0">Remove-<span class="re1">XmlNamespace</span></span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#.Synopsis</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp;Removes namespace definitions and prefixes from xml documents</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#.Description</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp;Runs an xml document through an XSL Transformation to remove namespaces from it if they exist.</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># &nbsp;Entities are also naturally expanded</span></div></li>\
<li class="li1"><div class="de1"><span class="co1">#.Parameter Content</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># &nbsp;Specifies a string that contains the XML to transform.</span></div></li>\
<li class="li1"><div class="de1"><span class="co1">#.Parameter Path</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># &nbsp;Specifies the path and file names of the XML files to transform. Wildcards are permitted.</span></div></li>\
<li class="li1"><div class="de1"><span class="co1">#</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># &nbsp;There will bne one output document for each matching input file.</span></div></li>\
<li class="li1"><div class="de1"><span class="co1">#.Parameter Xml</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># &nbsp;Specifies one or more XML documents to transform</span></div></li>\
<li class="li1"><div class="de1"><span class="co1">#</span></div></li>\
<li class="li2"><div class="de2"><span class="br0">&#91;</span>CmdletBinding<span class="br0">&#40;</span>DefaultParameterSetName<span class="sy0">=</span><span class="st0">&quot;Xml&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li1"><div class="de1"><span class="kw1">PARAM</span><span class="br0">&#40;</span> </div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="br0">&#91;</span>Parameter<span class="br0">&#40;</span>ParameterSetName<span class="sy0">=</span><span class="st0">&quot;Content&quot;</span>,Mandatory<span class="sy0">=</span><span class="re3">$true</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="re4"><span class="br0">&#91;</span><span class="kw3">String</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#93;</span></span><span class="re3">$Content</span></div></li>\
<li class="li2"><div class="de2">,</div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="br0">&#91;</span>Parameter<span class="br0">&#40;</span>Position<span class="sy0">=</span><span class="nu0">0</span>,ParameterSetName<span class="sy0">=</span><span class="st0">&quot;Path&quot;</span>,Mandatory<span class="sy0">=</span><span class="re3">$true</span>,ValueFromPipelineByPropertyName<span class="sy0">=</span><span class="re3">$true</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="br0">&#91;</span>Alias<span class="br0">&#40;</span><span class="st0">&quot;FullName&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="re4"><span class="br0">&#91;</span><span class="kw3">String</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#93;</span></span><span class="re3">$Path</span></div></li>\
<li class="li2"><div class="de2">,</div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="br0">&#91;</span>Parameter<span class="br0">&#40;</span>Position<span class="sy0">=</span><span class="nu0">0</span>,ParameterSetName<span class="sy0">=</span><span class="st0">&quot;Xml&quot;</span>,Mandatory<span class="sy0">=</span><span class="re3">$true</span>,ValueFromPipeline<span class="sy0">=</span><span class="re3">$true</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="br0">&#91;</span>Alias<span class="br0">&#40;</span><span class="st0">&quot;IO&quot;</span>,<span class="st0">&quot;InputObject&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="re4"><span class="br0">&#91;</span><span class="kw3">System</span>.<span class="kw3">Xml</span>.<span class="me1">XmlDocument</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#93;</span></span><span class="re3">$Xml</span></div></li>\
<li class="li2"><div class="de2"><span class="br0">&#41;</span></div></li>\
<li class="li1"><div class="de1"><span class="kw1">BEGIN</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="re3">$xslt</span> <span class="sy0">=</span> <span class="re0">New-<span class="re1">Object</span></span> <span class="kw3">System</span>.<span class="kw3">Xml</span>.<span class="me1">Xsl</span>.<span class="me1">XslCompiledTransform</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="re3">$xslt</span>.<span class="me1">Load</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="re4"><span class="br0">&#91;</span><span class="kw3">System</span>.<span class="kw3">Xml</span>.<span class="me1">XmlReader</span><span class="br0">&#93;</span></span>::<span class="me2">Create</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="re0">New-<span class="re1">Object</span></span> <span class="kw3">System</span>.<span class="me1">IO</span>.<span class="me1">StringReader</span> @<span class="st0">&quot;</span></div></li>\
<li class="li2"><div class="de2"><span class="st0">&lt;xsl:stylesheet version=&quot;</span><span class="nu0">1.0</span><span class="st0">&quot; xmlns:xsl=&quot;</span>http:<span class="sy0">//</span>www.<span class="me1">w3</span>.<span class="me1">org</span><span class="sy0">/</span><span class="nu0">1999</span><span class="sy0">/</span>XSL<span class="sy0">/</span>Transform<span class="st0">&quot;&gt;</span></div></li>\
<li class="li1"><div class="de1"><span class="st0"> &nbsp; &lt;xsl:output method=&quot;</span><span class="kw3">xml</span><span class="st0">&quot; indent=&quot;</span>yes<span class="st0">&quot;/&gt;</span></div></li>\
<li class="li2"><div class="de2"><span class="st0"> &nbsp; &lt;xsl:template match=&quot;</span><span class="sy0">/|</span>comment<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">|</span>processing<span class="sy0">-</span>instruction<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="st0">&quot;&gt;</span></div></li>\
<li class="li1"><div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp;&lt;xsl:copy&gt;</span></div></li>\
<li class="li2"><div class="de2"><span class="st0"> &nbsp; &nbsp; &nbsp; &nbsp; &lt;xsl:apply-templates/&gt;</span></div></li>\
<li class="li1"><div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp;&lt;/xsl:copy&gt;</span></div></li>\
<li class="li2"><div class="de2"><span class="st0"> &nbsp; &lt;/xsl:template&gt;</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2"><span class="st0"> &nbsp; &lt;xsl:template match=&quot;</span><span class="sy0">*</span><span class="st0">&quot;&gt;</span></div></li>\
<li class="li1"><div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp;&lt;xsl:element name=&quot;</span><span class="br0">&#123;</span>local<span class="sy0">-</span>name<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#125;</span><span class="st0">&quot;&gt;</span></div></li>\
<li class="li2"><div class="de2"><span class="st0"> &nbsp; &nbsp; &nbsp; &nbsp; &lt;xsl:apply-templates select=&quot;</span>@<span class="sy0">*|</span>node<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="st0">&quot;/&gt;</span></div></li>\
<li class="li1"><div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp;&lt;/xsl:element&gt;</span></div></li>\
<li class="li2"><div class="de2"><span class="st0"> &nbsp; &lt;/xsl:template&gt;</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2"><span class="st0"> &nbsp; &lt;xsl:template match=&quot;</span>@<span class="sy0">*</span><span class="st0">&quot;&gt;</span></div></li>\
<li class="li1"><div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp;&lt;xsl:attribute name=&quot;</span><span class="br0">&#123;</span>local<span class="sy0">-</span>name<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#125;</span><span class="st0">&quot;&gt;</span></div></li>\
<li class="li2"><div class="de2"><span class="st0"> &nbsp; &nbsp; &nbsp; &nbsp; &lt;xsl:value-of select=&quot;</span>.<span class="st0">&quot;/&gt;</span></div></li>\
<li class="li1"><div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp;&lt;/xsl:attribute&gt;</span></div></li>\
<li class="li2"><div class="de2"><span class="st0"> &nbsp; &lt;/xsl:template&gt;</span></div></li>\
<li class="li1"><div class="de1"><span class="st0">&lt;/xsl:stylesheet&gt;</span></div></li>\
<li class="li2"><div class="de2"><span class="st0">&quot;</span>@<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div></li>\
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2"><span class="kw1">PROCESS</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="kw1">switch</span><span class="br0">&#40;</span><span class="re3">$PSCmdlet</span>.<span class="me1">ParameterSetName</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="st0">&quot;Content&quot;</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re4"><span class="br0">&#91;</span><span class="kw3">System</span>.<span class="kw3">Xml</span>.<span class="me1">XmlDocument</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#93;</span></span><span class="re3">$Xml</span> <span class="sy0">=</span> @<span class="br0">&#40;</span> <span class="re4"><span class="br0">&#91;</span><span class="kw3">Xml</span><span class="br0">&#93;</span></span><span class="br0">&#40;</span><span class="re3">$Content</span> <span class="re2">-Join</span> <span class="st0">&quot;<span class="es0">`n</span>&quot;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="st0">&quot;Path&quot;</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re4"><span class="br0">&#91;</span><span class="kw3">System</span>.<span class="kw3">Xml</span>.<span class="me1">XmlDocument</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#93;</span></span><span class="re3">$Xml</span> <span class="sy0">=</span> @<span class="br0">&#40;</span><span class="br0">&#41;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re3">$file</span> <span class="kw1">in</span> <span class="re0">Get-<span class="re1">ChildItem</span></span> <span class="re3">$Path</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re3">$Xml</span> <span class="sy0">+=</span> <span class="re4"><span class="br0">&#91;</span><span class="kw3">Xml</span><span class="br0">&#93;</span></span><span class="br0">&#40;</span><span class="re0">Get-<span class="re1">Content</span></span> <span class="re3">$file</span><span class="br0">&#41;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="st0">&quot;Xml&quot;</span> <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re3">$input</span> <span class="kw1">in</span> <span class="re3">$Xml</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="re3">$Output</span> <span class="sy0">=</span> <span class="re0">New-<span class="re1">Object</span></span> <span class="kw3">System</span>.<span class="kw3">Xml</span>.<span class="me1">XmlDocument</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="re3">$writer</span> <span class="sy0">=</span><span class="re3">$output</span>.<span class="me1">CreateNavigator</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">AppendChild</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="re3">$xslt</span>.<span class="me1">Transform</span><span class="br0">&#40;</span> <span class="re3">$input</span>.<span class="me1">CreateNavigator</span><span class="br0">&#40;</span><span class="br0">&#41;</span>, <span class="re3">$null</span>, <span class="re3">$writer</span> <span class="br0">&#41;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="re3">$writer</span>.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="co1"># $writer.Dispose()</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="re0">Write-<span class="re1">Output</span></span> <span class="re3">$output</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2"><span class="br0">&#125;</span></div></li>\
</ol></div>');document.write('<div class="poshcredit"><a style="float:right;" href="http://poshcode.org/get/1504" title="download file">download</a><a href="http://poshcode.org/?show=1504" title="full view">This Script</a> brought to you by <a href="http://PoshCode.org">PoshCode</a>\
</div>\
</div>\
</div>');