1. A method comprising: obtaining an object model view in a memory of XML (eXtensible Markup Language) data of a document, the XML data comprising multiple nodes including a parent node, a child node having children thereof, and a next sibling node; determining a total amount of storage space needed to write in linearized form the child node, and offset value storage location, and the children of the child node from the object model view in the memory to a storage device; adding an attribute to a node of the XML data in the object model view in the memory, the attribute corresponding to the offset value storage location and saving a node offset value corresponding to the total amount of storage space; and outputting, from the object model view in the memory, the XML data, including the attribute, for writing in linearized form to the storage device; wherein the obtaining, the determining, the adding and the outputting are performed by a computer programmed to perform the obtaining, the determining, the adding and the outputting; wherein the outputting comprises writing the XML data including the attribute to a file on the storage device, the method further comprising reading the file from the storage device including skipping reading of at least a portion of the children using the node offset value.