How do I remove an XML node using PowerShell?
14,871
2nd edit
If I'm not wrong you want to remove the offendingnode from your input document. This what you can do if you want to use Select-Xml
:
$offendingnode = select-xml -xpath "/DocIcons/ByExtension/Mapping[@Key='pdf']" -xml $xmldoc
$xmldoc | select-xml -xpath "/DocIcons/ByExtension" | % {$_.node.removechild($offendingnode.node)}
1st edit
It's not very clear what you are going to do. Also what you are running is little messed.
With this line:
$xml | Select-Xml -XPath '//Mapping' | ForEach-Object{$_.Node.RemoveAll()}
You are going to remove all children of mapping
. If you want to remove all mapping
under ByExtension
you need something like
$xml | Select-Xml -XPath '//ByExtension' | % {$_.Node.RemoveAll()}
To print the result is better if you use:
$xml.outerxml
![Admin](/assets/logo_square_200-5d0d61d6853298bd2a4fe063103715b4daf2819fc21225efa21dfb93e61952ea.png)
Author by
Admin
Updated on June 17, 2022Comments
-
Admin about 2 years
I am struggling to find a way to remove this node:
<Mapping Key="pdf" Value="icpdf.gif"/>
I have listed the XML file at the bottom of this thread.
This is what I've got so far.
This is what I'm running:
$xmlFile = “C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\XML\docicon.xml” $xmlDoc = [XML](gc $xmlFile) $xml =[xml]'<DocIcons><ByExtension><Mapping Key ="pdf" Value = "icpdf"/></ByExtension></DocIcons>' $xml | Select-Xml -XPath '//Mapping' | ForEach-Object{$_.Node.RemoveAll()} $xmldoc.save("C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\XML\docicon.xml") $xml
Any help greatly appreciated :-)
docicon.xml: the offending node is right near the end
<?xml version="1.0" encoding="utf-8"?> <DocIcons> <ByProgID> <Mapping Key="Excel.Sheet" Value="ichtmxls.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="FrontPage.Editor.Document" Value="ichtmfp.gif" EditText="Microsoft Office SharePoint Designer" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="InfoPath.Document" Value="icxddoc.gif" EditText="Microsoft Office InfoPath" OpenControl="SharePoint.OpenXMLDocuments" /> <Mapping Key="InfoPath.Document.2" Value="icxddoc.gif" EditText="Microsoft Office InfoPath" OpenControl="SharePoint.OpenXMLDocuments.2" /> <Mapping Key="InfoPath.Document.3" Value="icxddoc.gif" EditText="Microsoft Office InfoPath" OpenControl="SharePoint.OpenXMLDocuments.3" /> <Mapping Key="InfoPath.Document.4" Value="icxddoc.gif" EditText="Microsoft Office InfoPath" OpenControl="SharePoint.OpenXMLDocuments.4" /> <Mapping Key="ODC.Cube" Value="icodcc.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="ODC.Database" Value="icodcd.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="ODC.Table" Value="icodct.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="PowerPoint.Slide" Value="ichtmppt.gif" EditText="Microsoft Office PowerPoint" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="Publisher.Document" Value="ichtmpub.gif" EditText="Microsoft Office Publisher" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="SharePoint.WebPartPage.Document" Value="icsmrtpg.gif" EditText="Microsoft Office SharePoint Designer" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="Word.Document" Value="ichtmdoc.gif" EditText="Microsoft Office Word" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="XDocs.Document" Value="icxddoc.gif" EditText="Microsoft Office InfoPath" OpenControl="SharePoint.OpenXMLDocuments" /> <Mapping Key="SharePoint.Link" Value="DOCLINK.GIF" /> <Mapping Key="Honeycomb.Link" Value="honeycombdoc.gif" /> </ByProgID> <ByExtension> <Mapping Key="accdb" Value="icaccdb.gif" EditText="Microsoft Office Access" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="accdt" Value="icaccdb.gif" /> <Mapping Key="accdc" Value="icaccdb.gif" /> <Mapping Key="accde" Value="icaccde.gif" EditText="Microsoft Office Access" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="accdr" Value="icaccde.gif" EditText="Microsoft Office Access" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="asax" Value="icasax.gif" OpenControl="" /> <Mapping Key="ascx" Value="icascx.gif" EditText="Microsoft Office SharePoint Designer" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="asmx" Value="icasmx.gif" OpenControl="" /> <Mapping Key="asp" Value="ichtm.gif" OpenControl="" /> <Mapping Key="aspx" Value="ichtm.gif" EditText="Microsoft Office SharePoint Designer" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="bmp" Value="icbmp.gif" /> <Mapping Key="cat" Value="iccat.gif" OpenControl="" /> <Mapping Key="chm" Value="icchm.gif" OpenControl="" /> <Mapping Key="config" Value="icconfig.gif" OpenControl="" /> <Mapping Key="css" Value="iccss.gif" OpenControl="" /> <Mapping Key="db" Value="icdb.gif" OpenControl="" /> <Mapping Key="dib" Value="icdib.gif" /> <Mapping Key="disc" Value="icdisc.gif" OpenControl="" /> <Mapping Key="doc" Value="icdoc.gif" EditText="Microsoft Office Word" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="docm" Value="icdocx.gif" EditText="Microsoft Office Word" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="docx" Value="icdocx.gif" EditText="Microsoft Office Word" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="dot" Value="icdot.gif" EditText="Microsoft Office Word" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="dotm" Value="icdotx.gif" EditText="Microsoft Office Word" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="dotx" Value="icdotx.gif" EditText="Microsoft Office Word" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="dvd" Value="icdvd.gif" OpenControl="" /> <Mapping Key="dwp" Value="icdwp.gif" OpenControl="" /> <Mapping Key="dwt" Value="icdwt.gif" OpenControl="" /> <Mapping Key="eml" Value="iceml.gif" OpenControl="" /> <Mapping Key="est" Value="icest.gif" OpenControl="" /> <Mapping Key="fwp" Value="icfwp.gif" OpenControl="" /> <Mapping Key="gif" Value="icgif.gif" /> <Mapping Key="hlp" Value="ichlp.gif" OpenControl="" /> <Mapping Key="hta" Value="ichta.gif" OpenControl="" /> <Mapping Key="htm" Value="ichtm.gif" EditText="Microsoft Office SharePoint Designer" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="html" Value="ichtm.gif" EditText="Microsoft Office SharePoint Designer" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="htt" Value="ichtt.gif" OpenControl="" /> <Mapping Key="inf" Value="icinf.gif" /> <Mapping Key="ini" Value="icini.gif" /> <Mapping Key="jfif" Value="icjfif.gif" /> <Mapping Key="jpe" Value="icjpe.gif" /> <Mapping Key="jpeg" Value="icjpeg.gif" /> <Mapping Key="jpg" Value="icjpg.gif" /> <Mapping Key="js" Value="icjs.gif" OpenControl="" /> <Mapping Key="jse" Value="icjse.gif" OpenControl="" /> <Mapping Key="log" Value="iclog.gif" /> <Mapping Key="master" Value="icmaster.gif" EditText="Microsoft Office SharePoint Designer" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="mht" Value="icmht.gif" EditText="Microsoft Office Word" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="mhtml" Value="icmht.gif" EditText="Microsoft Office Word" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="mpd" Value="icmpd.gif" OpenControl="" /> <Mapping Key="mpp" Value="icmpp.gif" EditText="Microsoft Office Project" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="mps" Value="icmps.gif" OpenControl="" /> <Mapping Key="mpt" Value="icmpt.gif" EditText="Microsoft Office Project" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="mpw" Value="icmpw.gif" OpenControl="" /> <Mapping Key="mpx" Value="icmpx.gif" OpenControl="" /> <Mapping Key="msg" Value="icmsg.gif" OpenControl="" /> <Mapping Key="msi" Value="icmsi.gif" OpenControl="" /> <Mapping Key="msp" Value="icmsp.gif" OpenControl="" /> <Mapping Key="ocx" Value="icocx.gif" OpenControl="" /> <Mapping Key="odc" Value="icodc.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="one" Value="icone.gif" EditText="Microsoft Office OneNote" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="onepkg" Value="iconp.gif" EditText="Microsoft Office OneNote" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="onetoc2" Value="icont.gif" EditText="Microsoft Office OneNote" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="png" Value="icpng.gif" /> <Mapping Key="pot" Value="icpot.gif" EditText="Microsoft Office PowerPoint" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="potm" Value="icpotx.gif" EditText="Microsoft Office PowerPoint" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="potx" Value="icpotx.gif" EditText="Microsoft Office PowerPoint" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="ppt" Value="icppt.gif" EditText="Microsoft Office PowerPoint" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="pptm" Value="icpptx.gif" EditText="Microsoft Office PowerPoint" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="pptx" Value="icpptx.gif" EditText="Microsoft Office PowerPoint" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="pps" Value="icpps.gif" EditText="Microsoft Office PowerPoint" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="psp" Value="icpsp.gif" OpenControl="" /> <Mapping Key="psd" Value="icbmp.gif" /> <Mapping Key="ptm" Value="icptm.gif" OpenControl="" /> <Mapping Key="ptt" Value="icptt.gif" OpenControl="" /> <Mapping Key="pub" Value="icpub.gif" EditText="Microsoft Office Publisher" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="rtf" Value="icrtf.gif" /> <Mapping Key="stp" Value="icstp.gif" OpenControl="" /> <Mapping Key="stt" Value="icstt.gif" OpenControl="" /> <Mapping Key="tif" Value="ictif.gif" /> <Mapping Key="tiff" Value="ictiff.gif" /> <Mapping Key="txt" Value="ictxt.gif" /> <Mapping Key="vbe" Value="icvbe.gif" OpenControl="" /> <Mapping Key="vbs" Value="icvbs.gif" OpenControl="" /> <Mapping Key="vdx" Value="icvdx.gif" EditText="Microsoft Office Visio" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="vsd" Value="icvsd.gif" EditText="Microsoft Office Visio" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="vsl" Value="icvsl.gif" OpenControl="" /> <Mapping Key="vss" Value="icvss.gif" EditText="Microsoft Office Visio" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="vst" Value="icvst.gif" EditText="Microsoft Office Visio" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="vsu" Value="icvsu.gif" OpenControl="" /> <Mapping Key="vsw" Value="icvsw.gif" OpenControl="" /> <Mapping Key="vsx" Value="icvsx.gif" EditText="Microsoft Office Visio" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="vtx" Value="icvtx.gif" EditText="Microsoft Office Visio" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="webpart" Value="icdwp.gif" OpenControl="" /> <Mapping Key="wm" Value="icwm.gif" OpenControl="" /> <Mapping Key="wma" Value="icwma.gif" OpenControl="" /> <Mapping Key="wmd" Value="icwmd.gif" OpenControl="" /> <Mapping Key="wmp" Value="icwmp.gif" OpenControl="" /> <Mapping Key="wms" Value="icwms.gif" OpenControl="" /> <Mapping Key="wmv" Value="icwmv.gif" OpenControl="" /> <Mapping Key="wmx" Value="icwmx.gif" OpenControl="" /> <Mapping Key="wmz" Value="icwmz.gif" OpenControl="" /> <Mapping Key="wsf" Value="icwsf.gif" OpenControl="" /> <Mapping Key="xls" Value="icxls.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="xlsb" Value="icxlsx.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="xlsm" Value="icxlsx.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="xlsx" Value="icxlsx.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="xlt" Value="icxlt.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="xltb" Value="icxltx.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="xltm" Value="icxltx.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="xltx" Value="icxltx.gif" EditText="Microsoft Office Excel" OpenControl="SharePoint.OpenDocuments" /> <Mapping Key="xml" Value="icxml.gif" /> <Mapping Key="xps" Value="icxps.gif" OpenControl="" /> <Mapping Key="xsd" Value="icxsd.gif" /> <Mapping Key="xsl" Value="icxsl.gif" /> <Mapping Key="xsn" Value="icxsn.gif" EditText="Microsoft Office InfoPath" OpenControl="SharePoint.OpenXMLDocuments" /> <Mapping Key="xslt" Value="icxslt.gif" /> <Mapping Key="zip" Value="iczip.gif" OpenControl="" /> <Mapping Key="pdf" Value="icpdf.gif" /> <Mapping Key="rdl" Value="ReportServer\16doc_sp.gif" OpenControl="SharePoint.OpenRdlFiles" /> <Mapping Key="rsds" Value="ReportServer\datasource.gif" OpenControl="SharePoint.OpenRsdsFiles" /> <Mapping Key="smdl" Value="ReportServer\16model_sp.gif" OpenControl="SharePoint.OpenSmdlFiles" /> <Mapping Key="rsapplication" Value="ReportServer\newreport_sp.gif" OpenControl="SharePoint.OpenRdlbFiles" /> </ByExtension> <Default> <Mapping Value="icgen.gif" /> </Default> </DocIcons>*