KeePassLib.Serialization.Kdb4File.WriteEntries C# (CSharp) Method

WriteEntries() public static method

Write entries to a stream.
public static WriteEntries ( Stream msOutput, PwEntry vEntries ) : bool
msOutput Stream Output stream to which the entries will be written.
vEntries PwEntry Entries to serialize.
return bool
        public static bool WriteEntries(Stream msOutput, PwEntry[] vEntries)
        {
            /* Kdb4File f = new Kdb4File(pwDatabase);
            f.m_format = Kdb4Format.PlainXml;

            XmlTextWriter xtw = null;
            try { xtw = new XmlTextWriter(msOutput, new UTF8Encoding(false)); }
            catch(Exception) { Debug.Assert(false); return false; }
            if(xtw == null) { Debug.Assert(false); return false; }

            f.m_xmlWriter = xtw;

            xtw.Formatting = Formatting.Indented;
            xtw.IndentChar = '\t';
            xtw.Indentation = 1;

            xtw.WriteStartDocument(true);
            xtw.WriteStartElement(ElemRoot);

            foreach(PwEntry pe in vEntries)
                f.WriteEntry(pe, false);

            xtw.WriteEndElement();
            xtw.WriteEndDocument();

            xtw.Flush();
            xtw.Close();
            return true; */

            PwDatabase pd = new PwDatabase();
            pd.New(new IOConnectionInfo(), new CompositeKey());

            foreach(PwEntry peCopy in vEntries)
                pd.RootGroup.AddEntry(peCopy.CloneDeep(), true);

            Kdb4File f = new Kdb4File(pd);
            f.Save(msOutput, null, Kdb4Format.PlainXml, null);
            return true;
        }

Same methods

Kdb4File::WriteEntries ( Stream msOutput, PwDatabase pwDatabase, PwEntry vEntries ) : bool