static void chunkingXmlReaderWithXStreamingElement() {

var customers = ChunkCustomers("CustomersWithOrders.xml");

XStreamingElement xmlCustomers = new XStreamingElement("customers", customers);

xmlCustomers.Save("CustomersWithOrdersOutput.xml");
}

static IEnumerable<XElement> ChunkCustomers(String uri) {

XmlReaderSettings settings = new XmlReaderSettings();
// Vimnte si nastaven maximln velikosti dokumentu (4MB) 
settings.MaxCharactersInDocument = (1024 * 1024) * 4; // MAX 4MB
XmlReader xr = XmlReader.Create(uri, settings);

while (xr.Read()){
if ((xr.NodeType == XmlNodeType.Element)
&& (xr.Name == "customer")) {
	yield return XElement.ReadFrom(xr) as XElement;
	}
}
}
