Hie.Core.Model.XmlDisassembler.Disassemble C# (CSharp) Method

Disassemble() public method

public Disassemble ( byte data ) : void
data byte
return void
		public void Disassemble(byte[] data)
		{
			// Reset the stream, don't creat a new
			_stream.Position = 0;
			_stream.Write(data, 0, data.Length);
			_stream.SetLength(data.Length);
			_stream.Position = 0;
		}

Usage Example

		public void DisassembleXmlFromEndpointTest()
		{
			// Goal: Send in bytes (from stream) and get an XML document out
			var disassembler = new XmlDisassembler();

			XDocument document = new XDocument(new XElement("body",
				new XElement("level1",
					new XElement("level2", "text"),
					new XElement("level2", "other text"))));
			document.Declaration = new XDeclaration("1.0", "UTF-8", "yes");

			byte[] data = Encoding.GetEncoding(document.Declaration.Encoding).GetBytes(document.ToString());

			disassembler.Disassemble(data);
			Message message = disassembler.NextMessage();

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

			Assert.IsNotNull(message);
			Assert.IsNotNull(message.Stream);
			Assert.IsTrue(XNode.DeepEquals(document, XDocument.Parse(message.GetString())));
			Assert.IsTrue(XNode.DeepEquals(document, XDocument.Load(message.GetStream())));

			// Move these to MessageTest instead
			Assert.IsTrue(XNode.DeepEquals(document, message.RetrieveAs<XDocument>()));
			Assert.IsTrue(XNode.DeepEquals(document, message.RetrieveAs<XNode>()));
			Assert.IsTrue(XNode.DeepEquals(document, XDocument.Parse(message.RetrieveAs<XmlDocument>().OuterXml)));
		}
All Usage Examples Of Hie.Core.Model.XmlDisassembler::Disassemble