예제 #1
0
        public bool Save(XmlNode output)
        {
            if (output == null)
            {
                throw new ArgumentNullException(nameof(output));
            }

            int  idNum = 0;
            bool allOk = true;

            XmlNode xILPTableNode = output.InsertCompressedElement(SST.ILPTable);

            XmlNode xPatchActionTable = xILPTableNode.InsertCompressedElement(SST.PatchActionTable);

            foreach (PatchAction pa in PatchActionList)
            {
                allOk &= Save(xPatchActionTable, pa, (idNum++).ToBaseAlph());
            }

            XmlNode xTargetFinderTable = xILPTableNode.InsertCompressedElement(SST.TargetFinderTable);

            foreach (TargetFinder tf in TargetFinderList)
            {
                allOk &= Save(xTargetFinderTable, tf, (idNum++).ToBaseAlph());
            }

            XmlNode xPatchEntryTable = xILPTableNode.InsertCompressedElement(SST.PatchEntryTable);

            foreach (PatchEntry pe in PatchEntryList)
            {
                allOk &= Save(xPatchEntryTable, pe);
            }

            XmlNode xReferenceTable = xILPTableNode.InsertCompressedElement(SST.ReferenceTable);

            allOk &= ReferenceTable.Save(xReferenceTable);

            return(allOk);
        }