예제 #1
0
        public async Task WriteXmlAsyncTest()
        {
            var root = new XmlChaserNode {
                Caption = "Root Node", Probability = 1
            };

            root.Add(new XmlChaserNode {
                Caption = "Hello", Probability = 0.5
            });
            root.Add(new XmlChaserNode {
                Caption = "World", Probability = 0.45
            });

            var builder  = new StringBuilder();
            var settings = new XmlWriterSettings {
                Indent = true, Async = true
            };
            var writer = XmlWriter.Create(builder, settings);
            await root.WriteXmlAsync(writer);

            await writer.FlushAsync();

            var xml = builder.ToString();

            Debug.WriteLine(xml);

            var readerSettings = new XmlReaderSettings {
                Async = true
            };
            var stream = new StringReader(xml);
            var reader = XmlReader.Create(stream, readerSettings);

            var copyRoot = await XmlChaserNode.ReadXmlAsync(reader);

            await CheckSameAsync(root, copyRoot);
        }