private static void WriteNodeName(DataNode node, BinaryWriter bw, Dictionary <string, int> header) { if (header == null) { bw.Write(node.Name); } else { DataNodeBinary.WriteCachedString(node.Name, bw, header); } }
private static void WriteContentNode(DataNode node, BinaryWriter bw, Dictionary <string, int> header) { if (node.Nodes != null && node.Nodes.Count > 0) { throw new Exception("Node can't contain content and subnodes"); } bw.Write((byte)1); DataNodeBinary.WriteNodeName(node, bw, header); if (header != null) { DataNodeBinary.WriteCachedString(node.Content, bw, header); } else { bw.Write(node.Content); } }