Sample code for 30+ languages & platforms
PowerShell

Auto-Trim XML Content when Loading

See more XML Examples

This example explains the "autoTrim" argument that is passed to a method such as LoadXml2.

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

$xml = New-Object Chilkat.Xml

# If autoTrim is $true, then the content inside an leaf element is trimmed.
# For example:
$autoTrim = $true
$xml.LoadXml2("<abc><xyz>  123   </xyz></abc>",$autoTrim)
$($xml.GetXml())

# Output is:
# (notice the SPACE chars before and after "xyz" are trimmed)

# <?xml version="1.0" encoding="utf-8" ?>
# <abc>
#     <xyz>123</xyz>
# </abc>

# If autoTrim is $false, then the content inside leaf elements are not trimmed.
$autoTrim = $false
$xml.LoadXml2("<abc><xyz>  123   </xyz></abc>",$autoTrim)
$($xml.GetXml())

# Output is:

# <?xml version="1.0" encoding="utf-8" ?>
# <abc>
#     <xyz>  123   </xyz>
# </abc>

# --------------------------------------------------------------------
# The EmitCompact property controls whether XML is emitted indented (pretty-printed)
# or compact.  For example:

# Auto-trim + emit compact:
$autoTrim = $true
$xml.LoadXml2("<abc><xyz>  123   </xyz></abc>",$autoTrim)
$xml.EmitCompact = $true
$($xml.GetXml())

# Output is:

# <?xml version="1.0" encoding="utf-8" ?>
# <abc><xyz>123</xyz></abc>

# No Auto-trim + emit compact:
$autoTrim = $false
$xml.LoadXml2("<abc><xyz>  123   </xyz></abc>",$autoTrim)
$xml.EmitCompact = $true
$($xml.GetXml())

# Output is:

# <?xml version="1.0" encoding="utf-8" ?>
# <abc><xyz>  123   </xyz></abc>