internal override void ParseXml(XmlElement xml)
{
base.ParseXml(xml);
foreach (XmlNode child in xml.ChildNodes)
{
string name = child.Name;
if (string.Compare(name, "OwningUser") == 0)
OwningUser = mDatabase.ParseXml<IfcPersonAndOrganization>(child as XmlElement);
else if (string.Compare(name, "OwningApplication") == 0)
OwningApplication = mDatabase.ParseXml<IfcApplication>(child as XmlElement);
else if (string.Compare(name, "LastModifyingUser") == 0)
LastModifyingUser = mDatabase.ParseXml<IfcPersonAndOrganization>(child as XmlElement);
else if (string.Compare(name, "LastModifyingApplication") == 0)
LastModifyingApplication = mDatabase.ParseXml<IfcApplication>(child as XmlElement);
}
if (xml.HasAttribute("State"))
Enum.TryParse<IfcStateEnum>(xml.Attributes["State"].Value, true, out mState);
if (xml.HasAttribute("ChangeAction"))
Enum.TryParse<IfcChangeActionEnum>(xml.Attributes["ChangeAction"].Value,true, out mChangeAction);
if (xml.HasAttribute("LastModifiedDate"))
LastModifiedDate = int.Parse(xml.Attributes["LastModifiedDate"].Value);
if (xml.HasAttribute("CreationDate"))
CreationDate = int.Parse(xml.Attributes["CreationDate"].Value);
}