public void Parse(string xmlData) { try { if (xmlData.Trim().Length > 0) { XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(xmlData); this.Errors.Clear(); XmlNodeList errorNodes; errorNodes = xdoc.SelectNodes("/FDXSubscriptionReply/Error"); if (errorNodes != null) { foreach (XmlNode en in errorNodes) { FedExError e = new FedExError(en); this.Errors.Add(e); } } errorNodes = xdoc.SelectNodes("/Error"); if (errorNodes != null) { foreach (XmlNode en in errorNodes) { FedExError e = new FedExError(en); this.Errors.Add(e); } } this.SoftErrors.Clear(); XmlNodeList softErrorNodes; softErrorNodes = xdoc.SelectNodes("/FDXSubscriptionReply/SoftError"); if (softErrorNodes != null) { foreach (XmlNode en in softErrorNodes) { FedExError e = new FedExError(en); this.SoftErrors.Add(e); } } if (xdoc.SelectSingleNode("/FDXSubscriptionReply/ReplyHeader") != null) { _ReplyHeader.ParseNode(xdoc.SelectSingleNode("/FDXSubscriptionReply/ReplyHeader")); } if (xdoc.SelectSingleNode("/FDXSubscriptionReply/MeterNumber") != null) { _ReplyHeader.MeterNumber = xdoc.SelectSingleNode("/FDXSubscriptionReply/MeterNumber").InnerText; } foreach (XmlNode sn in xdoc.SelectNodes("/FDXSubscriptionReply/SubscribedService")) { this.SubscribedServices.Add(sn.InnerText); } } } catch (Exception ex) { FedExError e = new FedExError(); e.Code = ex.StackTrace; e.Message = "BV Software Parsing Error: " + ex.Message; _Errors.Add(e); } }