PowerShell Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

PowerShell Examples

Bounced Email
Digital Certificates
Digital Signatures
DSA
Email Object
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
POP3
RSA
MIME
SMTP
Socket
SOCKS Proxy
Spider
SSH Key
SSH
SFTP
Tar
Upload
XML
XMP
Zip


More Examples...
Amazon S3
NTLM
RSS
Atom
PPMD
Deflate
Bzip2
LZW
Diffie-Hellman
Bz2
Character Encoding
CSV

 

 

 

 

 

 

 

 

(PowerShell) Removing / Deleting Child Nodes from XML

Demonstrates various methods for removing child nodes from an XML document.

The input XML, available at http://www.chilkatsoft.com/data/fruit.xml, is this:

<root>
    <fruit color="red">apple</fruit>
    <fruit color="green">pear</fruit>
    <veg color="orange">carrot</veg>
    <meat animal="cow">beef</meat>
    <xyz>
        <fruit color="blue">blueberry</fruit>
        <veg color="green">broccoli</veg>
    </xyz>
    <fruit color="purple">grape</fruit>
    <cheese color="yellow">cheddar</cheese>
</root>

Download: Chilkat .NET Assemblies

[Reflection.Assembly]::LoadFile("C:\myAssemblies\ChilkatDotNet2.dll")

$xml = New-Object Chilkat.Xml

#  The sample input XML is available at http://www.chilkatsoft.com/data/fruit.xml
$success = $xml.LoadXmlFile("fruit.xml")
if ($success -ne $true) {
    $($xml.LastErrorText)
    exit
}

#  The RemoveChild method removes (discards) all direct
#  children having the specified tag:
$xml.RemoveChild("fruit")

#  Show the resulting XML:
$("Result with all direct children having a tag equal to \"fruit\" removed:")
$($xml.GetXml())

#  The XML with the "fruit" direct children removed is shown below:
#  Notice that the "fruit" node beneath "xyz" was not removed.
#  This correct because it was not a direct child of the calling node.
#  
<root>
    <veg color="orange">carrot</veg>
    <meat animal="cow">beef</meat>
    <xyz>
        <fruit color="blue">blueberry</fruit>
        <veg color="green">broccoli</veg>
    </xyz>
    <cheese color="yellow">cheddar</cheese>
</root>
# -------------------------------------------------------------------------- # Restore the original XML: $success = $xml.LoadXmlFile("fruit.xml") # The RemoveChildWithContent method removes the child # having the exact content specified, regardless of the tag. # For example: $xml.RemoveChildWithContent("pear") # Show the resulting XML: $("Result with the node containing \"pear\" removed:") $($xml.GetXml()) # -------------------------------------------------------------------------- # Restore the original XML: $success = $xml.LoadXmlFile("fruit.xml") # The RemoveChildByIndex method removes the Nth direct # child. Indexing begins at 0. The "xyz" child is at index 4: $xml.RemoveChildByIndex(4) # Show the resulting XML: # Notice that the entire "xyz" subtree is removed. $("Result with the node at index 4 removed:") $($xml.GetXml()) # -------------------------------------------------------------------------- # Restore the original XML: $success = $xml.LoadXmlFile("fruit.xml") # Navigate to the node with tag "xyz" $xyz = $xml.FindChild("xyz") # Remove the "xyz" subtree making it it's own XML document # with the "xyz" node at the root: $xyz.RemoveFromTree() # Show both XML documents: $($xyz.GetXml()) $($xml.GetXml()) # Also, the TreeId property is an integer value assigned # to nodes in an XML document. All nodes belonging to # the same XML document will have the same TreeId. # Notice that the "xyz" node now has a different TreeId: $("xyz TreeId = " + $xyz.TreeId) $("xml TreeId = " + $xml.TreeId)

© 2000-2011 Chilkat Software, Inc. All Rights Reserved.