Итак, я пытаюсь создать новый файл на основе информации, полученной из XDocument, который у меня есть
XDocument doc = XDocument.Load(@"path.to.x.document");
StreamWriter sw = new StreamWriter(WriteFile);
var variabila = (from x in doc.Descendants("sentence").Elements("word")
select new
{
lemma = x.Attribute("lemma")?.Value,
postag = x.Attribute("postag")?.Value
}).ToSOMETHING; //Here i need to store it to something so later I can use that something like this
Так как лемма SOMETHING может иметь одно и то же значение для разных постагов, также постаг может иметь одинаковое значение для разных лемм, например:
lemma="somf" postag="S321"
lemma="areq" postag="O213"
lemma="somf" postag="O213"
lemma="werid" postag="S321"
Так что мне нужно записать в файл, как это. В основном, если это конец предложения, он будет идти в новой строке.
if(SOMETHING.lemma == "." || SOMETHING.lemma == "!")
{
sw.WriteLine(SOMETHING.lemma);
}
else
{
sw.Write(SOMETHING.lemma + " " + SOMETHING.postag);
}
Я пытался использовать Lookup и Dictionary, но если я использую словарь, я получаю исключение, так как словарь не может хранить один и тот же ключ дважды, и поиск избегает этого исключения, но мне нужны они в том порядке, в котором они появляются для формирования предложений на основе леммы и постаг только в новом файле.