public bool LoadNovel(NovelInfo novelInfo) { if (novelInfo == null) { return(false); } DirectoryInfo di = new DirectoryInfo(SharedData.SavelNovelDirPath); if (!di.Exists) { di.Create(); } FileInfo fi = new FileInfo(di.FullName + @"\" + novelInfo.NCode); if (fi.Exists) { using (FileStream fs = new FileStream(fi.FullName, FileMode.Open, FileAccess.Read, FileShare.Read)) { var xmlReader = new KimamaLib.XMLWrapper.Reader(fs); int count = int.Parse(xmlReader.GetAttribute("count", "//novels/item")); var titleList = xmlReader.GetAttributes("subtitle", "//novels/novel"); var textList = xmlReader.GetValues("//novels/novel"); novelInfo.Titles = titleList; novelInfo.Texts = textList; } return(true); } else { return(false); } }
public IList <NovelInfo> NovelListLoad() { DirectoryInfo di = new DirectoryInfo(SharedData.SavedNovelListDirPath); if (!di.Exists) { return(null); } novels.Clear(); FileInfo[] Files = di.GetFiles("*"); foreach (FileInfo file in Files) { using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read, FileShare.Read)) { var xmlReader = new KimamaLib.XMLWrapper.Reader(fs); string ncode = xmlReader.GetValue("//novels/item[@name='ncode']").TrimEnd('\n').TrimEnd('\r'); string title = xmlReader.GetValue("//novels/item[@name='title']").TrimEnd('\n').TrimEnd('\r'); string userid = xmlReader.GetValue("//novels/item[@name='userid']").TrimEnd('\n').TrimEnd('\r'); string writer = xmlReader.GetValue("//novels/item[@name='writer']").TrimEnd('\n').TrimEnd('\r'); string story = xmlReader.GetValue("//novels/item[@name='story']").TrimEnd('\n').TrimEnd('\r'); string biggenre = xmlReader.GetValue("//novels/item[@name='biggenre']").TrimEnd('\n').TrimEnd('\r'); string genre = xmlReader.GetValue("//novels/item[@name='genre']").TrimEnd('\n').TrimEnd('\r'); string general_all_no = xmlReader.GetValue("//novels/item[@name='general_all_no']").TrimEnd('\n').TrimEnd('\r'); string novel_type = xmlReader.GetValue("//novels/item[@name='novel_type']").TrimEnd('\n').TrimEnd('\r'); var novelInfo = new NovelInfo() { NCode = ncode, Title = title, UseId = userid, Writer = writer, Story = story, BigGenre = biggenre, Genre = genre, GeneralAllNo = int.Parse(general_all_no), NType = (NovelType)int.Parse(novel_type), }; novels.Add(novelInfo); } } if (novels.Count <= 0) { return(null); } return(novels); }
public int GetPage(NovelInfo novelInfo) { int page = 1; string ncode = novelInfo.NCode; DirectoryInfo di = new DirectoryInfo(SharedData.SavelNovelPageDirPath); if (!di.Exists) { di.Create(); } FileInfo fi = new FileInfo(di.FullName + @"\" + ncode); if (fi.Exists) { using (FileStream fs = new FileStream(fi.FullName, FileMode.Open, FileAccess.Read, FileShare.Read)) { var xmlReader = new KimamaLib.XMLWrapper.Reader(fs); page = int.Parse(xmlReader.GetAttribute("page", "novels/novel")); } } return(page); }