private void ReadCellData(Row row) { bool dataRead = false; while (true) { reader.MoveToNextElement(); if (reader.IsStartElement("Data")) { if (dataRead) throw new ApplicationException("Multiple Data elements within a Cell element"); row.AddCell(new Cell(ReadData())); dataRead = true; } if (reader.IsEndElement("Cell")) { if (!dataRead) row.AddEmptyCell(); return; } } }
void ReadCell(Row row) { reader.AssertIsStartElement("Cell"); bool isEmptyCell = reader.IsEmptyElement; if (isEmptyCell) row.AddEmptyCell(); CorrectForCellIndex(row); if (!isEmptyCell) ReadCellData(row); }