예제 #1
0
파일: SIDocument.cs 프로젝트: wurunduk/SI
        private void SaveCore(ISIPackage package)
        {
            using (var stream = package.GetStream(ContentFileName, false).Stream)
            {
                using (var writer = XmlWriter.Create(stream))
                {
                    _package.WriteXml(writer);
                }
            }

            using (var stream = package.GetStream(TextsStorageName, AuthorsFileName, false).Stream)
            {
                using (var writer = XmlWriter.Create(stream))
                {
                    _authors.WriteXml(writer);
                }
            }

            using (var stream = package.GetStream(TextsStorageName, SourcesFileName, false).Stream)
            {
                using (var writer = XmlWriter.Create(stream))
                {
                    _sources.WriteXml(writer);
                }
            }

            package.Flush();
        }
예제 #2
0
파일: SIDocument.cs 프로젝트: wurunduk/SI
        private void LoadData()
        {
            var streamInfo = _source.GetStream(ContentFileName);

            if (streamInfo != null)
            {
                using (streamInfo.Stream)
                {
                    using (var reader = XmlReader.Create(streamInfo.Stream))
                    {
                        while (reader.Read())
                        {
                            if (reader.NodeType == XmlNodeType.Element && reader.LocalName == "package")
                            {
                                _package = new Package();
                                _package.ReadXml(reader);
                                break;
                            }
                        }
                    }
                }
            }

            streamInfo = _source.GetStream(TextsStorageName, AuthorsFileName);
            if (streamInfo != null)
            {
                using (streamInfo.Stream)
                {
                    using (var reader = XmlReader.Create(streamInfo.Stream))
                    {
                        _authors = new AuthorInfoList();
                        _authors.ReadXml(reader);
                    }
                }
            }

            streamInfo = _source.GetStream(TextsStorageName, SourcesFileName);
            if (streamInfo != null)
            {
                using (streamInfo.Stream)
                {
                    using (var reader = XmlReader.Create(streamInfo.Stream))
                    {
                        _sources = new SourceInfoList();
                        _sources.ReadXml(reader);
                    }
                }
            }
        }
예제 #3
0
 public StreamInfo GetFile(string fileName)
 {
     return(_package.GetStream(Name, fileName));
 }