public static void EncodePackedFile(string xml, out byte[] bytes) { var PS = new Packed_Section(); XmlDocument xDoc = new XmlDocument(); xDoc.LoadXml(xml); var f = new MemoryStream(); BinaryWriter writer = new BinaryWriter(f); //header writer.Write(Packed_Section.Packed_Header); writer.Write((sbyte)0); //dictionary var newDict = GetXmlDict(xDoc); PS.writeDictionary(writer, newDict); //records PS.WriteElement(writer, xDoc.FirstChild, xDoc, newDict); f.Flush(); bytes = f.ToArray(); f.Close(); }
public static void EncodePackedFile(string path, string xml) { var PS = new Packed_Section(); XmlDocument xDoc = new XmlDocument(); xDoc.LoadXml(xml); File.Delete(path); var f = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write); BinaryWriter writer = new BinaryWriter(f); //header writer.Write(Packed_Section.Packed_Header); writer.Write((sbyte)0); //dictionary var newDict = GetXmlDict(xDoc); PS.writeDictionary(writer, newDict); //records PS.WriteElement(writer, xDoc.FirstChild, xDoc, newDict); f.Flush(); f.Close(); }