internal override void ParseXml(XmlElement xml)
{
base.ParseXml(xml);
if (xml.HasAttribute("RefLatitude"))
{
string[] fields = xml.Attributes["RefLatitude"].Value.Split(" ".ToCharArray());
RefLatitude = new IfcCompoundPlaneAngleMeasure(int.Parse(fields[0]), int.Parse(fields[1]), int.Parse(fields[2]), int.Parse(fields[3]));
}
if (xml.HasAttribute("RefLongitude"))
{
string[] fields = xml.Attributes["RefLongitude"].Value.Split(" ".ToCharArray());
RefLongitude = new IfcCompoundPlaneAngleMeasure(int.Parse(fields[0]), int.Parse(fields[1]), int.Parse(fields[2]), int.Parse(fields[3]));
}
if (xml.HasAttribute("RefElevation"))
RefElevation = double.Parse(xml.Attributes["RefElevation"].Value);
if (xml.HasAttribute("LandTitleNumber"))
LandTitleNumber = xml.Attributes["LandTitleNumber"].Value;
foreach (XmlNode child in xml.ChildNodes)
{
string name = child.Name;
if (string.Compare(name, "SiteAddress") == 0)
SiteAddress = mDatabase.ParseXml<IfcPostalAddress>(child as XmlElement);
}
}