/// <summary> /// Creates a new AnimlDocument from a XDocument. /// </summary> /// <param name="xDoc">A XDocument representing an AnIML file.</param> /// <returns>A new AnimlDocument containing the information loaded from the XDocument.</returns> public static AnimlDocument ReadFromXDocument(XDocument xDoc) { if (xDoc is null) { throw new ArgumentNullException(nameof(xDoc)); } AnimlDocument animlDocument = new AnimlDocument(); XElement animlElement = xDoc.Root; animlDocument.SampleSet = SampleSet.FromXElement(animlElement.Element(NamespaceHelper.GetXName("SampleSet"))); animlDocument.ExperimentStepSet = ExperimentStepSet.FromXElement(animlElement.Element(NamespaceHelper.GetXName("ExperimentStepSet"))); animlDocument.AuditTrailEntrySet = AuditTrailEntrySet.FromXElement(animlElement.Element(NamespaceHelper.GetXName("AuditTrailEntrySet"))); return(animlDocument); }
internal static AuditTrailEntrySet FromXElement(XElement auditTrailEntrySetElement) { if (auditTrailEntrySetElement is null) { return(null); } AuditTrailEntrySet auditTrailEntrySet = new AuditTrailEntrySet(); //// Import attributes for the implemented interfaces auditTrailEntrySet.ImportISignableItem(auditTrailEntrySetElement); //// Import the child elements of the current object auditTrailEntrySet.AuditTrailEntries.AddRange(auditTrailEntrySetElement.Elements(NamespaceHelper.GetXName("AuditTrailEntry")).Select(AuditTrailEntry.FromXElement)); return(auditTrailEntrySet); }