Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoXml
    Boolean iAutoTrim
    String sTemp1

    Move False To iSuccess

    Get Create (RefClass(cComChilkatXml)) To hoXml
    If (Not(IsComObjectCreated(hoXml))) Begin
        Send CreateComObject of hoXml
    End

    // If autoTrim is True, then the content inside an leaf element is trimmed.
    // For example:
    Move True To iAutoTrim
    Get ComLoadXml2 Of hoXml "<abc><xyz>  123   </xyz></abc>" iAutoTrim To iSuccess
    Get ComGetXml Of hoXml To sTemp1
    Showln sTemp1

    // 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.
    Move False To iAutoTrim
    Get ComLoadXml2 Of hoXml "<abc><xyz>  123   </xyz></abc>" iAutoTrim To iSuccess
    Get ComGetXml Of hoXml To sTemp1
    Showln sTemp1

    // 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:
    Move True To iAutoTrim
    Get ComLoadXml2 Of hoXml "<abc><xyz>  123   </xyz></abc>" iAutoTrim To iSuccess
    Set ComEmitCompact Of hoXml To True
    Get ComGetXml Of hoXml To sTemp1
    Showln sTemp1

    // Output is:

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

    // No Auto-trim + emit compact:
    Move False To iAutoTrim
    Get ComLoadXml2 Of hoXml "<abc><xyz>  123   </xyz></abc>" iAutoTrim To iSuccess
    Set ComEmitCompact Of hoXml To True
    Get ComGetXml Of hoXml To sTemp1
    Showln sTemp1

    // Output is:

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


End_Procedure