/// <summary> /// /// </summary> /// <param name="rfTagfield"></param> protected RfTagField[] AddFieldStructure(RfTagField[] rfTagfield) { RfTagField[] newRfTagfield = null; // for the first time we have to init the list if (null == rfTagfield) { // first tag field newRfTagfield = new RfTagField[1]; newRfTagfield[0] = new RfTagField(); } else { // Create a new list one element longer than the old one newRfTagfield = new RfTagField[rfTagfield.Length + 1]; for (int pos = 0; pos < rfTagfield.Length; pos++) { newRfTagfield[pos] = rfTagfield[pos]; } // Yippieh! Create a new tagFieldList newRfTagfield[rfTagfield.Length] = new RfTagField(); } return(newRfTagfield); }
/// <summary> /// /// </summary> /// <param name="reportReader"></param> /// <param name="endXMLTag"></param> protected RfTagField ParseReportForTagFields(XmlTextReader reportReader, string endXMLTag) { RfTagField newTagField = new RfTagField(); while (reportReader.Read() && !(reportReader.Name == endXMLTag && reportReader.NodeType == XmlNodeType.EndElement)) { if (reportReader.NodeType == XmlNodeType.Element) { if (reportReader.Name == "bank") { if (reportReader.Read()) { if (XmlNodeType.Text == reportReader.NodeType) { newTagField.TagFieldBank = reportReader.Value; } } } else if (reportReader.Name == "startAddress") { if (reportReader.Read()) { if (XmlNodeType.Text == reportReader.NodeType) { newTagField.TagFieldAddress = reportReader.Value; } } } else if (reportReader.Name == "fieldName") { if (reportReader.Read()) { if (XmlNodeType.Text == reportReader.NodeType) { newTagField.TagFieldName = reportReader.Value; } } } else if (reportReader.Name == "dataLength") { if (reportReader.Read()) { if (XmlNodeType.Text == reportReader.NodeType) { newTagField.TagFieldLength = reportReader.Value; } } } else if (reportReader.Name == "data") { if (reportReader.Read()) { if (XmlNodeType.Text == reportReader.NodeType) { newTagField.TagFieldData = reportReader.Value; } } } } } return(newTagField); }