コード例 #1
0
        private void PopulateXmlNodeFromForm(XmlNode targetNode, Form form)
        {
            foreach (Field field in form.Fields)
            {
                XmlNode newField = CurrentXmlForm.CreateNode(XmlNodeType.Element, "field", null);
                newField.InnerText = field.Caption;

                var idAttr = CurrentXmlForm.CreateAttribute(idAttributeName);
                idAttr.Value = field.Id;

                var nameAttr = CurrentXmlForm.CreateAttribute(nameAttributeName);
                nameAttr.Value = field.Name;

                var isRequiredAttr = CurrentXmlForm.CreateAttribute(isRequiredAttributeName);
                isRequiredAttr.Value = field.IsRequired?"true": "false";

                var fieldLengthAttr = CurrentXmlForm.CreateAttribute(fieldLengthAttributeName);
                fieldLengthAttr.Value = field.FieldLength.ToString();

                var dataTypeAttr = CurrentXmlForm.CreateAttribute(dataTypeAttributeName);
                dataTypeAttr.Value = field.DataType.LookupCode;

                newField.Attributes.Append(idAttr);
                newField.Attributes.Append(nameAttr);
                newField.Attributes.Append(isRequiredAttr);
                newField.Attributes.Append(fieldLengthAttr);
                newField.Attributes.Append(dataTypeAttr);

                targetNode.AppendChild(newField);
            }
        }
コード例 #2
0
        public override void SaveForm(Form form)
        {
            var root             = CurrentXmlForm.DocumentElement;
            var targetCollection = root.SelectSingleNode(String.Format("form[@name='{0}']", form.Name));

            if (targetCollection == null)
            {
                targetCollection = CurrentXmlForm.CreateNode(XmlNodeType.Element, "form", null);

                var idAttr = CurrentXmlForm.CreateAttribute(idAttributeName);
                idAttr.Value = form.Id;

                var nameAttr = CurrentXmlForm.CreateAttribute(nameAttributeName);
                nameAttr.Value = form.Name;

                targetCollection.Attributes.Append(idAttr);
                targetCollection.Attributes.Append(nameAttr);

                PopulateXmlNodeFromForm(targetCollection, form);
                CurrentXmlForm.AppendChild(targetCollection);
            }
            else
            {
                targetCollection.RemoveAll();

                var idAttr = CurrentXmlForm.CreateAttribute(idAttributeName);
                idAttr.Value = form.Id;

                var nameAttr = CurrentXmlForm.CreateAttribute(nameAttributeName);
                nameAttr.Value = form.Name;

                targetCollection.Attributes.Append(idAttr);
                targetCollection.Attributes.Append(nameAttr);

                PopulateXmlNodeFromForm(targetCollection, form);
            }

            CurrentXmlForm.Save(XmlFileName);
        }