Sample code for 30+ languages & platforms
Perl

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 Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

my $success = 0;

my $xml = Chilkat2::Xml->new;

# If autoTrim is 1, then the content inside an leaf element is trimmed.
# For example:
my $autoTrim = 1;
$xml->LoadXml2('<abc><xyz>  123   </xyz></abc>', $autoTrim);
print $xml->GetXml(), "\n";

# 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 0, then the content inside leaf elements are not trimmed.
$autoTrim = 0;
$xml->LoadXml2('<abc><xyz>  123   </xyz></abc>', $autoTrim);
print $xml->GetXml(), "\n";

# 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 = 1;
$xml->LoadXml2('<abc><xyz>  123   </xyz></abc>', $autoTrim);
$xml->EmitCompact(1);
print $xml->GetXml(), "\n";

# Output is:

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

# No Auto-trim + emit compact:
$autoTrim = 0;
$xml->LoadXml2('<abc><xyz>  123   </xyz></abc>', $autoTrim);
$xml->EmitCompact(1);
print $xml->GetXml(), "\n";

# Output is:

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