internal override void ParseXml(XmlElement xml)
{
base.ParseXml(xml);
if (xml.HasAttribute("UnitType"))
Enum.TryParse<IfcDerivedUnitEnum>(xml.Attributes["UnitType"].Value, true, out mUnitType);
if (xml.HasAttribute("UserDefinedType"))
UserDefinedType = xml.Attributes["UserDefinedType"].Value;
foreach (XmlNode child in xml.ChildNodes)
{
string name = child.Name;
if (string.Compare(name, "Elements") == 0)
{
List<IfcDerivedUnitElement> elements = new List<IfcDerivedUnitElement>();
foreach (XmlNode node in child.ChildNodes)
{
IfcDerivedUnitElement element = mDatabase.ParseXml<IfcDerivedUnitElement>(node as XmlElement);
if (element != null)
elements.Add(element);
}
Elements = elements;
}
}
}