I have an application that generates very heavy xml files with lists of elements and I have to add elements to it in several steps and save them on hard disk. For example, in the first iteration the complete file would be generated:
<File>
<Header>
<Date>yyyy-MM-dd</Date>
<Uuid>335773a6-1ee3-4ef8-95dd-65abed4226b4 </Uuid>
<!-- Other params -->
</Header>
<Body>
<!-- Other params -->
<Users>
<User>
<Id>1</Id>
<Name>John</Name>
<Surname>Doe</Surname>
<Mail>john@mail.com</Mail>
<!-- Other params -->
</User>
<User>
<Id>2</Id>
<Name>John</Name>
<Surname>Doe</Surname>
<Mail>john@mail.com</Mail>
<!-- Other params -->
</User>
<!-- Add more items here-->
</Users>
</Body>
</File>
In the following iterations more elements are added (in the example only two more users):
<File>
<Header>
<Date>yyyy-MM-dd</Date>
<Uuid>335773a6-1ee3-4ef8-95dd-65abed4226b4 </Uuid>
<!-- Other params -->
</Header>
<Body>
<!-- Other params -->
<Users>
<User>
<Id>1</Id>
<Name>John</Name>
<Surname>Doe</Surname>
<Mail>john@mail.com</Mail>
<!-- Other params -->
</User>
<User>
<Id>2</Id>
<Name>John</Name>
<Surname>Doe</Surname>
<Mail>john@mail.com</Mail>
<!-- Other params -->
</User>
<User>
<Id>3</Id>
<Name>John</Name>
<Surname>Doe</Surname>
<Mail>john@mail.com</Mail>
<!-- Other params -->
</User>
<User>
<Id>4</Id>
<Name>John</Name>
<Surname>Doe</Surname>
<Mail>john@mail.com</Mail>
<!-- Other params -->
</User>
<!-- Add more items here-->
</Users>
</Body>
</File>
As the files can be very long and I want to avoid memory problems, can I add new elements in the correct position without fully loading the file into memory?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…