private void CreateUserTrackingLocations(XmlReader reader, UserTrackingLocationCollection user) { if (null == reader) throw new ArgumentNullException("reader"); if (null == user) throw new ArgumentNullException("user"); if (reader.IsEmptyElement) return; string startName = reader.Name; while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: if (0 == string.Compare(reader.Name, "UserTrackingLocation", StringComparison.Ordinal)) { UserTrackingLocation location = new UserTrackingLocation(); CreateUserTrackingLocation(reader, location); user.Add(location); } break; case XmlNodeType.EndElement: if (0 == string.Compare(startName, reader.Name, StringComparison.Ordinal)) return; break; } } // // Only valid exit is on an EndElement that matches the element that is passed in. throw new TrackingProfileDeserializationException(ExecutionStringManager.TrackingDeserializationCloseElementNotFound + startName + "."); }
private void CreateUserTrackingLocations(XmlReader reader, UserTrackingLocationCollection user) { if (reader == null) { throw new ArgumentNullException("reader"); } if (user == null) { throw new ArgumentNullException("user"); } if (!reader.IsEmptyElement) { string name = reader.Name; while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: if (string.Compare(reader.Name, "UserTrackingLocation", StringComparison.Ordinal) == 0) { UserTrackingLocation location = new UserTrackingLocation(); this.CreateUserTrackingLocation(reader, location); user.Add(location); } break; case XmlNodeType.EndElement: goto Label_006A; } continue; Label_006A: if (string.Compare(name, reader.Name, StringComparison.Ordinal) == 0) { return; } } throw new TrackingProfileDeserializationException(ExecutionStringManager.TrackingDeserializationCloseElementNotFound + name + "."); } }