Setting the node indentation level when calling the toXMLString() method in ActionScript 3.0

The following example shows how you can set the amount of indentation used when calling the toXMLString() method by setting the static XML.prettyIndent property in ActionScript.

Full code after the jump.

View MXML

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/08/23/setting-the-node-indentation-level-when-calling-the-toxmlstring-method-in-actionscript-30/ -->
<mx:Application name="XML_prettyIndent_test"
        xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white"
        creationComplete="init();">

    <mx:Script>
        <![CDATA[
            import mx.events.SliderEvent;

            private const xmlObj:XML = describeType(Application);

            private function init():void {
                slider.value = XML.prettyIndent;
                textArea.text = xmlObj.toXMLString();
            }

            private function slider_change(evt:SliderEvent):void {
                XML.prettyIndent = evt.value;
                textArea.text = xmlObj.toXMLString();
            }
        ]]>
    </mx:Script>

    <mx:ApplicationControlBar dock="true">
        <mx:Form styleName="plain">
            <mx:FormItem label="prettyIndent:">
                <mx:HSlider id="slider"
                        minimum="0"
                        maximum="8"
                        snapInterval="1"
                        tickInterval="1"
                        liveDragging="true"
                        change="slider_change(event);" />
            </mx:FormItem>
        </mx:Form>
    </mx:ApplicationControlBar>

    <mx:TextArea id="textArea"
            editable="false"
            wordWrap="false"
            width="100%"
            height="100%" />

</mx:Application>

View source is enabled in the following example.