public EDRMEntity DeserializeEdrmXml(string filePath)
        {
            // create an xml reader.
            XmlReader reader = new XmlTextReader(new FileStream(filePath, FileMode.Open));

            // read through elements 
            while (reader.Read())
            {
                // parse document elements.
                if (reader.Name.Equals("document", StringComparison.InvariantCultureIgnoreCase))
                {
                    edrmEntity.BatchEntity.DocumentEntity.Add(ParseEdrmDocumentXml(reader.ReadOuterXml()));
                }

                if (reader.Name.Equals("relationship", StringComparison.InvariantCultureIgnoreCase))
                {
                    edrmEntity.BatchEntity.Relationships.Add(new RelationshipEntity()
                    {
                        Type = reader.SafeGetAttribute("Type"),
                        ParentDocID = reader.SafeGetAttribute("ParentDocId"),
                        ChildDocID = reader.SafeGetAttribute("ChildDocId")
                    });
                }
            }

            return edrmEntity;

        }