1. A method of returning a first child data element from a first sibling data element and a second child data element from a second sibling data element using a single direction iteration order, wherein the first sibling data element is a sibling to the second sibling data element in a structured tree, wherein the structured tree represents a document, wherein data elements are arranged with a root data element at a root level branching to remaining data elements at lower levels within branches of the structured tree, and wherein said method comprises: receiving, by one or more processors, an external request, from a requester, to provide the first child data element and the second child data element from the structured tree; traversing, by one or more processors, through the structured tree using the single direction iteration order until the first child data element is reached; incrementing, by one or more processors, an element level counter to describe a level of the structured tree at which the first sibling data element is located; returning, by one or more processors, the first child data element to the requester; determining, by one or more processors, that the first child data element is a leaf node having no further child nodes in the structured tree; in response to returning the first child data element to the requester and determining that the first child data element is a leaf node in the structured tree, redefining, by one or more processors, the first child data element as a sibling to the first sibling data element; in response to the first child data element being redefined as the sibling to the first sibling data element, traversing, by one or more processors, from the first child data element through the second sibling data element in order to reach and return the second child data element to the requester; returning, by one or more processors, the second child data element to the requester; in response to returning the second child data element to the requester, removing, by one or more processors, from memory any description of the structured tree that was used to reach the first child data element and the second child data element other than the element level counter that describes the level of the structured tree at which the first sibling data element and the second sibling data element are located, wherein the structured tree is used once and discarded after locating and returning the first child data element and the second child data element; subsequent to removing from memory said any references to the structured tree that was used to reach the first child data element and the second child data element other than the element level counter, receiving, by one or more processors, a request from the requester for a third child data element that is a child of the second sibling data element; utilizing, by one or more processors, a content of the element level counter to reconstruct the structured tree in order locate the second sibling data element and to traverse from the second sibling data element to the third child data element; and locating and returning, by one or more processors, the third child data element in the reconstructed structured tree to the requester.