Hie.Core.Model.Hl7Disassembler.NextMessage C# (CSharp) Метод

NextMessage() публичный Метод

public NextMessage ( ) : Message
Результат Message
		public Message NextMessage()
		{
			if (_stream.Position == _stream.Length) return null;

			// Decode and convert ER7 data to XML
			string hl7 = Encoding.UTF8.GetString(_stream.ToArray());
			XmlDocument document = Hl7ToXmlConverter.ConvertToXml(hl7);

			Message message = new Message("text/xml");
			//message.SetValueFrom(document.OuterXml);

			MemoryStream ms = new MemoryStream();
			document.Save(ms);
			ms.Position = 0;
			message.Stream = ms;

			_stream.Seek(0, SeekOrigin.End); // We consumed all, so reflect it on stream

			return message;
		}
	}

Usage Example

Пример #1
0
		public void DisassembleTest()
		{
			Hl7Disassembler disassembler = new Hl7Disassembler();

			string filePath = "Hl7DisassemblerTest-hl7-2.txt";

			byte[] data = null;
			using (StreamReader reader = new StreamReader(filePath))
			{
				string text = reader.ReadToEnd();
				data = Encoding.UTF8.GetBytes(text);
			}

			disassembler.Disassemble(data);

			Message message = disassembler.NextMessage();
			Assert.IsNotNull(message);

			Assert.IsNull(disassembler.NextMessage(), "Expected only one message from pipeline");

			XDocument document = XDocument.Load("Hl7DisassemblerTest-hl7.xml");
			message.RetrieveAs<XDocument>().Save("temp.xml");

			Assert.IsTrue(XNode.DeepEquals(document, message.RetrieveAs<XDocument>()));

			message.RetrieveAs<XDocument>().Save("temp.xml");
		}
All Usage Examples Of Hie.Core.Model.Hl7Disassembler::NextMessage