I'm not quite sure what you mean by 'keep'.
A lot of XML is created solely to transfer information from one place to another and so exists in that form for only a short while (for example SOAP) or is metadata that simply describes other data for example XML schemas.
The definition of XML does not specify any limits on the size of an XML document but the software used to read it might. For example XML DOM Document parsers usually store the DOM in memory once parsed and as rule of thumb require about 10 times as many bytes im memory to hold the data as the original file so a 1Gb XML document might be difficult to process in this way.
However there is an alternative XML parsing mechanism called SAX which simply raises an event each time a node is encountered and leaves it up to the implementor to handle persisting the data as required. With SAX there may be no limit to the size of the XML file.
That said, in practice, most XML documents contain no more than thousands of 'records' rather than millions.
If you are thinking of using an XML document as a database then any relational database will provide superior performance and facilities with less coding once you get beyond a few hundred records.