Sample code for 30+ languages & platforms
Tcl

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

Tcl

load ./chilkat.dll

set success 0

set xml [new_CkXml]

# If autoTrim is 1, then the content inside an leaf element is trimmed.
# For example:
set autoTrim 1
CkXml_LoadXml2 $xml "<abc><xyz>  123   </xyz></abc>" $autoTrim
puts [CkXml_getXml $xml]

# 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.
set autoTrim 0
CkXml_LoadXml2 $xml "<abc><xyz>  123   </xyz></abc>" $autoTrim
puts [CkXml_getXml $xml]

# 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:
set autoTrim 1
CkXml_LoadXml2 $xml "<abc><xyz>  123   </xyz></abc>" $autoTrim
CkXml_put_EmitCompact $xml 1
puts [CkXml_getXml $xml]

# Output is:

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

# No Auto-trim + emit compact:
set autoTrim 0
CkXml_LoadXml2 $xml "<abc><xyz>  123   </xyz></abc>" $autoTrim
CkXml_put_EmitCompact $xml 1
puts [CkXml_getXml $xml]

# Output is:

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

delete_CkXml $xml