When this property is true, the XML will typically look like: <node id="0" label="Root" loc="71 190"> <node id="1" label="A1" loc="182 74" /> <node id="2" label="A2" loc="186 276"> <node id="3" label="B1" loc="272 236"> <node id="4" label="C1" loc="346 292"> <node id="5" label="D1" loc="445 259" /> <node id="6" label="D2" loc="448 348" /> </node> </node> <node id="7" label="B2" loc="287 358" /> </node> </node>
When this property is true, it does not make sense to have an attribute/property binding using the special property named "TreeParentNode". The "parent" of any node is implicit in the XML structure, so no node reference is necessary.
Setting this to true also automatically sets BodyConsumesChildElements to true.
Caution: when generating XML, be sure that the collection that you assign to the GoXmlWriter.Objects property only contains the root nodes of the trees. If the collection contains a child node as well as the root node, the XML element with nested elements will be generated in duplicate for that child node as well as for the whole tree starting at the root node.