public void Load(string Path) { var reader = XElement.Load(Path); var tokensquery = from c in reader.Elements("tokens").Elements("token") select c; var tokens = new List <RSTWord>(); foreach (var item in tokensquery) { var tk = new RSTWord(); tk.id = int.Parse(item.Attribute("id").Value); tk.Text = item.Attribute("word").Value; tk.eduid = int.Parse(item.Attribute("eduidx").Value); tk.sentenceid = int.Parse(item.Attribute("sidx").Value); tokens.Add(tk); } var query = from c in reader.Elements("rsttree").Elements("node") select c; var treebankstr = (from c in reader.Elements("rstview") select c).First().Value; var input = new java.io.StringReader(treebankstr); var treeReader = new edu.stanford.nlp.trees.PennTreeReader(input); this.Root = new RSTNode(); Root.Load(treeReader.readTree(), tokens); }
public RSTDocument ReadDocumentContent(string str, string name) { RSTDocument result = new RSTDocument(); result.name = name; var documentxml = XElement.Parse(str); var tokensquery = from c in documentxml.Elements("tokens").Elements("token") select c; foreach (var token in tokensquery) { var tk = new Common.Token(); tk.name = int.Parse(token.Attribute("id").Value); tk.word = token.Attribute("word").Value; tk.lemma = token.Attribute("lemma").Value; tk.eduid = int.Parse(token.Attribute("eduidx").Value); tk.sentence = int.Parse(token.Attribute("sidx").Value) + 1; //here from 0 stanford from 1 result.Tokens.Add(tk); } var treebankstr = (from c in documentxml.Elements("rstview") select c).First().Value; var input = new java.io.StringReader(treebankstr); var treeReader = new edu.stanford.nlp.trees.PennTreeReader(input); result.root = new RSTNode(); result.root.Load(treeReader.readTree(), result.Tokens); return(result); }