コード例 #1
0
        public void SaveSettingsToXMLFile(string xmlFileName)
        {
            string xmlFileData = "<Settings>";

            foreach (SettingNode setting in settingList)
            {
                xmlFileData = xmlFileData + "<Setting name=\"" + XMLUtils.XMLFormatter.XmlEscape(setting.name) + "\"";

                if (setting.hasDesc)
                {
                    xmlFileData = xmlFileData + " description=\"" + XMLUtils.XMLFormatter.XmlEscape(setting.description) + "\"";
                }

                if (!setting.ismultiple)
                {
                    xmlFileData = xmlFileData + " value=\"" + XMLUtils.XMLFormatter.XmlEscape(setting.Value) + "\" />";
                }
                else
                {
                    xmlFileData = xmlFileData + ">\n";

                    foreach (string val in setting.Values)
                    {
                        xmlFileData = xmlFileData + "\t<SettingValue value=\"" + XMLUtils.XMLFormatter.XmlEscape(val) + "\"/>\n";
                    }

                    xmlFileData = xmlFileData + "</Setting>";
                }
            }

            xmlFileData = xmlFileData + "</Settings>";

            File.WriteAllText(xmlFileName, XMLFormatter.IndentXML(xmlFileData));
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: RyanSudlow/Clippy-Jr
        private void XMLBtn_Click(object sender, EventArgs e)
        {
            var s      = ClipboardManager.GetClipboardContent();
            var result = XMLFormatter.Format(s);

            ClipboardManager.InsertClipboardText(result);
            Close();
        }
コード例 #3
0
        public void Should_Deserialize_ValidXML()
        {
            //Arrange
            string xmlFile =
                @"<Container><Id>68465468</Id> <ShippingDate>2016-07-22T00:00:00+02:00</ShippingDate><parcels>
                    <Parcel>
                         <Sender>
                           <Name>Klaas</Name>
                           <Address>
                             <Street>Uranusstraat</Street>
                             <HouseNumber>22</HouseNumber>
                             <PostalCode>2402AE</PostalCode>
                             <City>Alphen a/d Rijn</City>
                           </Address>
                           <CcNumber>65465424</CcNumber> 
                         </Sender>
                         <Receipient>
                           <Name>Piet</Name>
                           <Address>
                             <Street>Schenklaan</Street>
                             <HouseNumber>22</HouseNumber>
                             <PostalCode>2497AV</PostalCode>
                             <City>Den Haag</City>
                           </Address>
                         </Receipient>
                         <Weight>0.02</Weight>
                         <Value>500</Value>
                       </Parcel> 
                     </parcels>
                </Container>";
            var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(xmlFile));
            var streamReader = new StreamReader(memoryStream, Encoding.UTF8, true);

            //Act
            var result = XMLFormatter.Deserialize <Container>(streamReader);

            //Assert
            Assert.Equal(68465468, result.Id);
            Assert.Equal(DateTime.Parse("2016-07-22T00:00:00+02:00"), result.ShippingDate);
            Assert.Equal(0.02, result.Parcels.Parcel.FirstOrDefault().Weight);
            Assert.Equal(500, result.Parcels.Parcel.FirstOrDefault().Value);

            Assert.Single(result.Parcels.Parcel);
            Assert.Equal("Klaas", result.Parcels.Parcel.FirstOrDefault().Sender.Name);
            Assert.Equal("Uranusstraat", result.Parcels.Parcel.FirstOrDefault().Sender.Address.Street);
            Assert.Equal("22", result.Parcels.Parcel.FirstOrDefault().Sender.Address.HouseNumber);
            Assert.Equal("2402AE", result.Parcels.Parcel.FirstOrDefault().Sender.Address.PostalCode);
            Assert.Equal("Alphen a/d Rijn", result.Parcels.Parcel.FirstOrDefault().Sender.Address.City);
            Assert.Equal("65465424", result.Parcels.Parcel.FirstOrDefault().Sender.CcNumber);

            Assert.Equal("Piet", result.Parcels.Parcel.FirstOrDefault().Receipient.Name);
            Assert.Equal("Schenklaan", result.Parcels.Parcel.FirstOrDefault().Receipient.Address.Street);
            Assert.Equal("22", result.Parcels.Parcel.FirstOrDefault().Receipient.Address.HouseNumber);
            Assert.Equal("2497AV", result.Parcels.Parcel.FirstOrDefault().Receipient.Address.PostalCode);
            Assert.Equal("Den Haag", result.Parcels.Parcel.FirstOrDefault().Receipient.Address.City);
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: wessamyaacob/SITA
        private static Container GetContainer(string path)
        {
            Container container;

            using (var reader = new StreamReader(path))
            {
                container = XMLFormatter.Deserialize <Container>(reader);
            }

            return(container);
        }
コード例 #5
0
        public void Dispose()
        {
            if (!_isDisposed)
            {
                _jsonFormatter = null;
                _xMLFormatter  = null;

                _locker?.Dispose();

                GC.SuppressFinalize(this);

                _isDisposed = !_isDisposed;
            }
        }
コード例 #6
0
        public void XMLFormatting_WithValidInput_ThenOk()
        {
            //Arrange
            var input = new List <Sentence>
            {
                new Sentence {
                    Words = new List <string> {
                        "a", "had", "lamb", "little", "Mary"
                    }
                },
                new Sentence {
                    Words = new List <string> {
                        "Aesop", "and", "called", "came", "for", "Peter", "the", "wolf"
                    }
                }
            };

            var expected = @"<?xml version=""1.0"" encoding=""utf-16""?>
<Text>
  <Sentence>
    <Word>a</Word>
    <Word>had</Word>
    <Word>lamb</Word>
    <Word>little</Word>
    <Word>Mary</Word>
  </Sentence>
  <Sentence>
    <Word>Aesop</Word>
    <Word>and</Word>
    <Word>called</Word>
    <Word>came</Word>
    <Word>for</Word>
    <Word>Peter</Word>
    <Word>the</Word>
    <Word>wolf</Word>
  </Sentence>
</Text>";
            //Act
            var xmlFormatter = new XMLFormatter();
            var actual       = xmlFormatter.Format(input);

            //Assert
            expected.Should().BeEquivalentTo(actual);
        }
コード例 #7
0
        public IDataFormattable CreateFormatter(FormatterEnum formatter)
        {
            switch (formatter)
            {
            case FormatterEnum.Json:
                if (_jsonFormatter == default)
                {
                    _locker.EnterWriteLock();

                    if (_jsonFormatter == default)
                    {
                        _jsonFormatter = new JsonFormatter();
                    }

                    _locker.ExitWriteLock();
                }

                return(_jsonFormatter);

            case FormatterEnum.XML:
                if (_xMLFormatter == default)
                {
                    _locker.EnterWriteLock();

                    if (_xMLFormatter == default)
                    {
                        _xMLFormatter = new XMLFormatter();
                    }

                    _locker.ExitWriteLock();
                }

                return(_xMLFormatter);

            default:
                throw new InvalidOperationException();
            }
        }
コード例 #8
0
ファイル: FileData.cs プロジェクト: dgx80/csharp-app-lib
 public FileData()
 {
     m_xmlFormatter = new XMLFormatter();
 }
コード例 #9
0
 void refreshXML()
 {
     xml.Value = XMLFormatter.FormatXML(LoadXML());
 }