private string GetAttribute (XmlAttributeCollection attrs, string attr, bool required, XmlNode node) { XmlAttribute a = attrs[attr]; string r = null; if (a != null) { r = a.Value; if (required) ValidateAttribute (attr, r, node); attrs.Remove (a); } else if (required) ThrowMissingAttribute (attr, node); return r; }