private static void addCineFileNode(XPathNavigator current, List <CineFile> cfl, bool isBigEndian) { string basepath = current.GetAttribute("base", ""); string name = current.GetAttribute("name", ""); var entryNodes = current.Select("entry"); CineFile cf = new CineFile(basepath, name, isBigEndian); SubtitleEntry se; // Get first entry entryNodes.MoveNext(); se = new SubtitleEntry(); se.lang = Locale.getFromString(entryNodes.Current.GetAttribute("lang", "")); se.blockNumber = int.Parse(entryNodes.Current.GetAttribute("block", "")); se.text = entryNodes.Current.Value; while (entryNodes.MoveNext() == true) { // Check if same block if (se.blockNumber == int.Parse(entryNodes.Current.GetAttribute("block", ""))) { se.text += ("\n" + entryNodes.Current.Value); } else { // Save previous entry cf.add(se); // Save new current entry se = new SubtitleEntry(); se.lang = Locale.getFromString(entryNodes.Current.GetAttribute("lang", "")); se.blockNumber = int.Parse(entryNodes.Current.GetAttribute("block", "")); se.text = entryNodes.Current.Value; } } // Add last sub entry cf.add(se); // Add cinefile to list cfl.Add(cf); }
private static void addCineFileNode(XPathNavigator current, List<CineFile> cfl, bool isBigEndian) { string basepath = current.GetAttribute("base", ""); string name = current.GetAttribute("name", ""); var entryNodes = current.Select("entry"); CineFile cf = new CineFile(basepath, name, isBigEndian); SubtitleEntry se; // Get first entry entryNodes.MoveNext(); se = new SubtitleEntry(); se.lang = Locale.getFromString(entryNodes.Current.GetAttribute("lang", "")); se.blockNumber = int.Parse(entryNodes.Current.GetAttribute("block", "")); se.text = entryNodes.Current.Value; while (entryNodes.MoveNext() == true) { // Check if same block if (se.blockNumber == int.Parse(entryNodes.Current.GetAttribute("block", ""))) { se.text += ("\n" + entryNodes.Current.Value); } else { // Save previous entry cf.add(se); // Save new current entry se = new SubtitleEntry(); se.lang = Locale.getFromString(entryNodes.Current.GetAttribute("lang", "")); se.blockNumber = int.Parse(entryNodes.Current.GetAttribute("block", "")); se.text = entryNodes.Current.Value; } } // Add last sub entry cf.add(se); // Add cinefile to list cfl.Add(cf); }